实验6 实践课程中的程序
实验6 实践课程中的程序(2)编程,完成问题7.9中的程序。(编程,将datasg段中每个单词的前4个字母改为大写字母。)assume cs:codesg,ds:datasg,ss:stacksgstacksg segment dw 0,0,0,0,0,0,0,0stacksg endsdatasg segment db '1. display ' db '2. brows ' db '3. replace ' db '4. modify 'datasg ends codesg segmentstart: mov ax,datasg mov ds,ax mov bx,0 mov ax,stacksg mov ss,ax mov sp,16 mov cx,4 gg: push cx mov si,3 ;在这我直接每次将SI定在"第四列",便于以后在下面就不用把这个常量直接去掉 mov cx,4 g: mov al, and al,11011111b mov ,al inc si loop g add bx,16 pop cx loop gg mov ax,4c00h int 21hcodesg endsend start 这个程序我用DEBUG调试,中间有点问题,只过了两个外循环,就显示调试出错,我感觉这样子写也可以,想请大虾帮我看一下这样写可以不. 还有就是在写循环的时候比如: a1:????? ???? a2:???? ???? ??? loop a2 ??? loop a1这样写的循环为啥不行,难道是标识名不能加数字嘛?请教高手????为什么标识不能加数字进去?谢谢{:5_111:}{:5_91:} 用你的代码调试了一下是正确的啊,标识名第一个 必须是字母,不能是数字,也不能是特殊符号单独作为标识名。。 来看看呵呵 看看 改成mov al, byte ptr ,说明是字节,不懂为什么要在说明是字节,感觉al不是已经说明传进去是字节么
页:
[1]