Programy ASS (cz.1)

04.11

Prog 5

PROG	SEGMENT
	ASSUME CS:PROG,DS:PROG,SS:PROG
	ORG 100H

MAIN:
	MOV BX,OFFSET NAPIS
	MOV AH,0EH
	mov cl,'z'
PETLA:			;wrzuca kolejne liczby z napisu
	cmp cl,[bx]	;cmp aktualnej litery
	jz dalej	;gdy and byl 0, to flaga z=1 i nastepuje jump

	mov al,[bx]
	and al,al	;and aktualnej litery
	jz KONIEC	;gdy and bylo 0, to flaga z=1 i nastepuje jump

	int 10H
dalej:
	inc bx		;bx++
	jmp petla
KONIEC:
	MOV AH,4CH	;koniec programu
	INT 21H

NAPIS	DB "costzam",0	;definicja napisu

PROG	ENDS
	END MAIN

Prog 4

PROG	SEGMENT
	ASSUME CS:PROG,DS:PROG,SS:PROG
	ORG 100H

MAIN:	jmp dalej

NAPIS	DB "ala ma kota",0	;definicja napisu

dalej:
	MOV AH,0EH
	MOV BX,OFFSET NAPIS
PETLA:			;wrzuca kolejne liczby z napisu

	mov al,[bx]
	and al,al	;and aktualnej litery
	jz KONIEC	;gdy and bylo 0, to flaga z=1 i nastepuje jump

	int 10H
	inc bx		;bx++
	jmp petla
KONIEC:
	MOV AH,4CH	;koniec programu
	INT 21H

PROG	ENDS
	END MAIN

Prog 3

PROG	SEGMENT
	ASSUME CS:PROG,DS:PROG,SS:PROG
	ORG 100H

MAIN:
	mov al,1
	MOV AH,0EH
	MOV BX,OFFSET NAPIS1
	and al,al
	jz petla
	MOV BX,OFFSET NAPIS2
PETLA:			;wrzuca kolejne liczby z napisu
	MOV AH,0EH
PETLA1:
	mov al,[bx]
	and al,al	;and aktualnej litery
	jz KONIEC	;gdy and bylo 0, to flaga z=1 i nastepuje jump

	int 10H
	inc bx		;bx++
	jmp petla1
KONIEC:
	MOV AH,4CH	;koniec programu
	INT 21H

NAPIS1	DB "ala ma kota",0	;definicja napisu
NAPIS2	DB "kot ma ale",0	;definicja napisu

PROG	ENDS
	END MAIN

Prog 2

PROG	SEGMENT
	ASSUME CS:PROG,DS:PROG,SS:PROG
	ORG 100H

MAIN:
	MOV BX,OFFSET NAPIS
	MOV AH,0EH
	mov cl,'z'
PETLA:			;wrzuca kolejne liczby z napisu
	cmp cl,[bx]	;cmp aktualnej litery
	jz KONIEC	;gdy and byl 0, to flaga z=1 i nastepuje jump

	mov al,[bx]
	and al,al	;and aktualnej litery
	jz KONIEC	;gdy and bylo 0, to flaga z=1 i nastepuje jump

	int 10H
	inc bx		;bx++
	jmp petla
KONIEC:
	MOV AH,4CH	;koniec programu
	INT 21H

NAPIS	DB "costzam",0	;definicja napisu

PROG	ENDS
	END MAIN

Prog 1

PROG	SEGMENT
	ASSUME CS:PROG,DS:PROG,SS:PROG
	ORG 100H

MAIN:
	MOV BX,OFFSET NAPIS
	MOV AH,0EH
PETLA:
	MOV AL,[BX]	;wrzuca kolejne liczby z napisu
	and al,al	;and aktualnej litery
	jz KONIEC	;gdy and byl 0, to flaga z=1 i nastepuje jump

	int 10H
	inc bx		;bx++
	jmp petla
KONIEC:
	MOV AH,4CH	;koniec programu
	INT 21H

NAPIS	DB "costam",0	;definicja napisu

PROG	ENDS
	END MAIN

28.10

Prog 3

PROG	SEGMENT
	ASSUME CS:PROG,DS:PROG,SS:PROG
	ORG 100H

MAIN:
	MOV BX,OFFSET NAPIS
	;XOR SI,SI
	MOV SI,5
	MOV CX,6
PETLA:
	MOV AL,[BX+SI]
	MOV AH,0EH
	INT 10H
	DEC SI
	LOOP PETLA

	MOV AH,4CH
	INT 21H

NAPIS	DB "TEKST!"

PROG	ENDS
	END MAIN

Prog 2

PROG	SEGMENT
	ASSUME CS:PROG,DS:PROG,SS:PROG
	ORG 100H

MAIN:
	MOV BX,OFFSET NAPIS
	MOV AL,[BX]
	and AL,223
	MOV AH,0EH
	INT 10H

	MOV AL,[BX+1]
	and AL,223
	INT 10H

	MOV AL,[BX+2]
	and AL,223
	INT 10H

	MOV AH,4CH
	INT 21H

NAPIS	DB "ala"

PROG	ENDS
	END MAIN

Prog 1

PROG	SEGMENT
	ASSUME CS:PROG,DS:PROG,SS:PROG
	ORG 100H

MAIN:
	;MOV AL,[NAPIS]
	MOV bx,offset napis
	;mov al,[bx]
	xor si,si
	mov al,[bx+si]
	MOV AH,0EH
	INT 10H

	;MOV AL,[NAPIS+1]
	;inc bx
	inc si
	;mov al[bx]
	;mov al,[bx+1]
	mov al,[bx+si]
	INT 10H

	MOV AH,4CH
	INT 21H

NAPIS	DB "ab"

PROG	ENDS
	END MAIN

Dodaj komentarz