data1 segment
stri db 'BASED ADDRESSING','$'
data1 ends
stack1 segment stack
dw 20h dup(?)
top label word
stack1 ends
code segment
main proc far
assume ds:data1,cs:code,ss:stack1
;start:
mov ax,data1
mov ds,ax ;把数据放进ax寄存器,再放到ds段寄存器中
mov ax,stack1
mov ss,ax
lea sp,top ;把栈也放在ss段寄存器中,sp记录栈顶位置
lea si,stri;用si记录字符串
mov cx,0 ;cx记录字符串的长度
line1:
cmp byte ptr [si],'$' ;cmp比较指令,对两数进行相减,进行比较
je input ;je条件转移指令
&nbs
stri db 'BASED ADDRESSING','$'
data1 ends
stack1 segment stack
dw 20h dup(?)
top label word
stack1 ends
code segment
main proc far
assume ds:data1,cs:code,ss:stack1
;start:
mov ax,data1
mov ds,ax ;把数据放进ax寄存器,再放到ds段寄存器中
mov ax,stack1
mov ss,ax
lea sp,top ;把栈也放在ss段寄存器中,sp记录栈顶位置
lea si,stri;用si记录字符串
mov cx,0 ;cx记录字符串的长度
line1:
cmp byte ptr [si],'$' ;cmp比较指令,对两数进行相减,进行比较
je input ;je条件转移指令
&nbs

博主在尝试用汇编语言逆序输出字符串时遇到A2004错误,通过修改配置为DOS模式解决了编译问题。然而,由于Win10 64位系统不兼容debug.exe,导致调试困难。文章探讨了在现代操作系统中运行老式汇编程序的挑战,并提出是否需要搭建双系统作为解决方案。
最低0.47元/天 解锁文章
4564

被折叠的 条评论
为什么被折叠?



