编写了屏幕显示字符串的代码但是就是运行不出来,求原因
时间:10-02
整理:3721RD
点击:
我用汇编写了一段向屏幕显示字符串的代码但是就是运行不出来 请各位好友看一下 帮帮忙 我是初学者 呵呵 下面是代码
assume cs:codesg,ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
codesg segment
start:mov ax,datasg
mov ds,ax ;初始化段寄存器
mov bx,0h ;字符的递增
mov si,160 ;显存的偏移地址
mov ax,0b800h ;显存的段地址
mov es,ax
mov cx,16 ;循环次数
s:mov al,ds:[bx]
mov ah,04h ;把字符放入显存
mov es:[si],ax
inc bx ;把字符属性放入显存
add si,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start
assume cs:codesg,ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
codesg segment
start:mov ax,datasg
mov ds,ax ;初始化段寄存器
mov bx,0h ;字符的递增
mov si,160 ;显存的偏移地址
mov ax,0b800h ;显存的段地址
mov es,ax
mov cx,16 ;循环次数
s:mov al,ds:[bx]
mov ah,04h ;把字符放入显存
mov es:[si],ax
inc bx ;把字符属性放入显存
add si,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start
首行assume cs:codesg,
还有你"mov si,160h"这句,这个160应该是2进制的,160h的话就不再第一页了
至于结尾的"s0:jmp short s0"应该没什么意义,好像是死循环
你是编译好直接运行的吗?在debug模式下试试,debug进去后,用g命令运行到程序结束,看看有没有效果。
嗯,好了,我换了个dosbox就可以了