实验9关于push bx的疑问
小甲鱼实验9求助,视频里说bx保存进栈,怕被影响到,xor却在循环外部,好像完全找不到影响bx值的地方,inc bx的地方,也是颜色属性的地方自己使用,看不出除了属性还有其它地方影响bx的值,请大家帮忙看看assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!'
db 02H,24H,71H
data ends
stack segment
dd 4 dup(0)
stack ends
code segment
main:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,10H
xor bx,bx
mov ax,0B872H
mov cx,3H
s3:push cx;保存循环次数
push ax;保存彩屏写入的地址
push bx;保存BX的数值
mov es,ax;
mov si,0
mov di,0
mov cx,10H
s1:mov al,ds:;把文字复制到彩屏内存
mov es:,al
inc si
add di,2H
loop s1
mov di,1
pop bx
mov al,ds:;设置文字颜色
inc bx
mov cx,10H
s2:mov es:,al
add di,2H
loop s2
pop ax
add ax,0AH
pop cx
loop s3
mov ax,4C00H
int 21H
code ends
end main int 21H对于含有这样语句的汇编代码
就没啥学习的意义了,因为你永远没有机会使用它 wp231957 发表于 2022-3-16 07:27
int 21H对于含有这样语句的汇编代码
就没啥学习的意义了,因为你永远没有机会使用它
我问的是push bx那个bx,而不是int 21h,朋友看题 这里好像确实没有地方改了BX,可能是因为预防以后BX被修改才这么做的吧…… 对的,这里bx不入栈也没问题 楼主只管提问,却总不结帖,日子久了不会再有人愿意热心帮你。
页:
[1]