实验4不懂
本帖最后由 loop 于 2011-4-29 22:44 编辑题目说传送0至63的数据
为什么cx=40h呢?而不是63h呢? 我来给你解答下吧!
题目说的0-63,有多少个数据?
64个,对吧!
所以应该LOOP 64次
而64转换成16进制,就是40H了!
P.S 你说的63H,转换成十进制就是99了。。。
切忌要转换!
楼主 我进度和你一样今天也该写实验4了嘿嘿既然你说了我就刚好做了一下
希望解答让你满意 这样 写行吗
assume cs:code
code segment
mov bx,0
mov ax,0020h
mov ds,ax
mov cx,40h
s:mov ,bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end 恩 经过上机测试,确认你这个无误 你这样精简了代码同时你也抓住了BX作为变量和寄存器地址的要点:它们递增都相同
我个人觉得 你这个代码简练很多!
优化不错!
不过看看小甲鱼老师有什么评价了吧 回复 核动力 的帖子
你这个里面有一句、、不妥吧、、mov ,bx、、、bx是一个16位的寄存器、、而应该是一个字节吧、、 从0——63共有64个数据,转化为16进制,因为masm中默认的是16进制,这样cx=40h,加64次。 MOV AX,0
MOV DS,AX
MOV BX,200h
;MOV AL,0
MOV CX,64
S:
MOV ,AL
INC AL
INC BX
LOOP S
;此处输入代码段代码
MOV AH,4CH
INT 21H
求大脚解答一下,为什么我多了一行,刚刚开始学习汇编
页:
[1]