汇编语言显示输出
assumecs:codedatasegmentdb'welcometomasm!'dataendscodesegmentstart:movax,datamovds,ax...
assume cs:code
data segment
db 'welcome to masm!'
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov ss,ax
mov cx,16
mov bx,0
mov bp,0
s:mov ah,byte ptr ds:[bp]
mov ss:[bx],ah
mov byte ptr ss:[bx+1],2
add bx,2
inc bp
loop s
mov ax,4c00h
int 21h
code ends
end start
这段代码我看了很久了,都没找出错误在哪,但是我在虚模式和保护模式下运行都不会出结果,显示器上什么反应都没有。我在网上找了一些代码,运行了也没有反应,这是我运行的不对吗?
我知道了,win7下没法全屏MS-DOS方式,在虚拟机下全屏MS-DOS方式下就能看到了 展开
data segment
db 'welcome to masm!'
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov ss,ax
mov cx,16
mov bx,0
mov bp,0
s:mov ah,byte ptr ds:[bp]
mov ss:[bx],ah
mov byte ptr ss:[bx+1],2
add bx,2
inc bp
loop s
mov ax,4c00h
int 21h
code ends
end start
这段代码我看了很久了,都没找出错误在哪,但是我在虚模式和保护模式下运行都不会出结果,显示器上什么反应都没有。我在网上找了一些代码,运行了也没有反应,这是我运行的不对吗?
我知道了,win7下没法全屏MS-DOS方式,在虚拟机下全屏MS-DOS方式下就能看到了 展开
1个回答
展开全部
你的int 21h调用dos中断是哪一个啊?
更多追问追答
追问
哎呀呀,我是菜鸟,还没看到中断那地方........题目就是把那个字符串用彩色输出在屏幕上
追答
s:mov ah,byte ptr ds:[bp]
mov ss:[bx],ah
mov byte ptr ss:[bx+1],2
add bx,2
inc bp
loop s
你的程序在这里似乎是个死循环,没法到mov ax,4c00h
int 21h
这里,他当然没显示了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询