實驗1:ASCII碼
設計算法:爲了將ASCII的10H到100H輸出顯示,得從10H開始顯示輸出然後循環90h次,每次ASCII自增1,重複上述步驟。
編程實現:將循環次數90h存在計數器cx中,用dx寄存器存放ASCII碼數據,每次循環dx自增1。因爲還需要一個每滿輸出16個字符後換行的功能,用bx賦初值16,存放每行還剩輸出字符的個數,每輸出 1各字符bx自減1,當bx爲0時調用回車換行子程序printnewline,然後在賦值16,重複上述步驟。
DATAS SEGMENT
;此處輸入數據段代碼
DATAS ENDS
STACKS SEGMENT
;此處輸入堆棧段代碼
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov cx,90H
mov dl,10H
mov bx,10H
again:
mov ah,02h
int 21h
inc dl
dec bx
cmp bx,0
je next
jmp next1
next:
mov bx,10H
push dx
mov dl,0ah
push ax
mov ah,02h
int 21h
pop ax
pop dx
next1:
loop again
MOV AH,4CH
INT 21H
CODES ENDS
END START
輸出結果如圖: