实验6 实践课程中的程序 (2)编程,完成问题7.9中的程序。 (编程,将datasg段中每个单词的前4个字母改为大写字母。) assume cs:codesg,ds:datasg,ss:stacksg stacksg segment dw 0,0,0,0,0,0,0,0 stacksg ends
datasg segment db '1. display ' db '2. brows ' db '3. replace ' db '4. modify ' datasg ends codesg segment start: 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定在"第四列",便于以后在下面就不用[bx+si+iDATA] 把这个常量直接去掉 mov cx,4 g: mov al,[bx+si] and al,11011111b mov [bx+si],al inc si loop g add bx,16 pop cx loop gg mov ax,4c00h int 21h codesg ends end start 这个程序我用DEBUG调试,中间有点问题,只过了两个外循环,就显示调试出错,我感觉这样子写也可以,想请大虾帮我看一下这样写可以不. 还有就是在写循环的时候比如: a1:????? ???? a2:???? ???? ??? loop a2 ??? loop a1 这样写的循环为啥不行,难道是标识名不能加数字嘛?请教高手????为什么标识不能加数字进去? 谢谢  |