- [游客] 你说的就是传说中的易语言么?(*^__^*) 嘻嘻…… 03/22 21:44
- [taotling] 你啊,肯定是太贪快,所以细节上的东西没注意。。。。 来晚了,报个到。 04/09 23:46
- [wdm] mov es:[di],cx ;原来是mov es:[di],cl mov es:[ 04/09 15:11
- [wdm] 看到内存b850:0006处的变化真的很奇怪 ============= 数据必然都是你些进入的 04/09 14:41
- [wdm] 我不明白为什么sp=4的时候,用t单步就会错?明明堆栈还有2个字的空间啊?! --------- 04/09 14:34
- [wdm] 书里哪里说过吗?还有没什么会出现这个情况?按理说,堆栈不是还有2个字的位置吗? ========= 04/09 14:30
- [hantangtianxia] debug跟踪的问题 如果直接运行或debug g命令 执行,不会出问题 04/08 23:17
- [rsice] wdm:博主看看这里的sp的值,mov dx,0000后的T命令的时候,你的sp只剩下4了,记得前面 04/08 23:12
- [游客] 功能子程序dtoc中应该添加保护现场和恢复现场语句序列! 答:确实没有保护现场,我觉得可能下面的 04/08 21:18
- [游客] 将行偏移添加到了段地址中?!应该把行、列偏移都放在偏移地址寄存器di中。 答:是这样的,我是把行 04/08 21:17
[2008-03-16 18:35] 实验9我的写法:不用堆栈、一次循环、代码短
我觉得的我的写法很短,很简单。我开始写的时候也考虑用堆栈,但后来发现没有必要。我写完了看答案,写法用了堆栈,用了三次循环,我觉得比我的复杂。我是新搬家来的,请多指点。大家看效果:
;王爽实验9
assume cs:codesg,ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov ax,0b864h
mov es,ax
mov di,0
mov si,0
mov ah,0
mov cx,10h
s: mov al,ds:[di]
mov es:[si],al
mov es:[si+1],00000010b
mov es:[si+0a0h],al
mov es:[si+0a0h+1],00010100b
mov es:[si+140h],al
mov es:[si+140h+1],01110001b
inc di
add si,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start
;王爽实验9
assume cs:codesg,ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov ax,0b864h
mov es,ax
mov di,0
mov si,0
mov ah,0
mov cx,10h
s: mov al,ds:[di]
mov es:[si],al
mov es:[si+1],00000010b
mov es:[si+0a0h],al
mov es:[si+0a0h+1],00010100b
mov es:[si+140h],al
mov es:[si+140h+1],01110001b
inc di
add si,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start
评论次数(4) |
浏览次数(655) |
类型(汇编作业) |
收藏此文 |