exam601.asm

来自「我在汇编课上完成的一些作业(上机常见习题)和汇编课本上的几个例题」· 汇编 代码 · 共 28 行

ASM
28
字号
;内存中以BUFFER为首地址的缓冲区有10个非压缩型BCD码
;形式存放的十进制数,它们的值可能是0~9中的任意一个,
;将这些十进制数顺序显示在屏幕上。
data segment
     buffer db 1,4,2,5,7,6,3,8,9,3
data ends
code segment
     assume cs:code, ds:data
start: mov ax, data
       mov ds, ax
       lea si, buffer    ;si<—缓冲区首址
       mov cx, 10        ;CX<—字符串长度
       cld               ;清状态标志位DF
       mov ah, 02h       ;AH<—功能号
get: lodsb               ;用串装入指令取一个BCD码到AL
     or al, 30h          ;BCD码转换为ASCII码
     mov dl,al           ;DL<—字符
     int 21h             ;显示
     mov dl,','
     int 21h
     mov dl, 20h
     int 21h
     dec cx              ;CX<—(CX)-1
     jnz get             ;未完成10个字符则重复
     mov ax, 4c00h
     int 21h
code ends
     end start

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?