书上的实验4
题目:向内存 0:200-0:23F依次传送数据0-63(3FH),程序中只能使用9条指令,9条指令包括“mov ax,4c00h”和“int 21h”
第一代(严格上是有错误的)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
assume cs:codesg codesg segment mov cx,0040h mov ax,0020h mov ds,ax mov bx,0 s: mov [bx],bx inc bx loop s mov ax,4c00H int 21H codesg ends
end
|
正确的应该是把
mov [bx],bx 改成
mov [bx],bl
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
assume cs:codesg codesg segment mov cx,0040h mov ax,0020h mov ds,ax mov bx,0 s: mov [bx],bl inc bx loop s mov ax,4c00H int 21H codesg ends
end
|
当然不是做题目,没必要这样省代码,直接用两个寄存器分别表示自增的数字和自增的内存单元地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
assume cs:codesg codesg segment mov cx,0040h mov ax,0020h mov ds,ax mov bx,0 mov ax,0 s: mov [bx],ax inc bx inc ax loop s mov ax,4c00H int 21H codesg ends
end
|
近期评论