编写了屏幕显示字符串的代码但是就是运行不出来,求原因

2019-07-15 20:37发布

我用汇编写了一段向屏幕显示字符串的代码但是就是运行不出来  请各位好友看一下 帮帮忙 我是初学者 呵呵 下面是代码




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
        

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
z00
1楼-- · 2019-07-16 00:36
首行assume cs:codesg,
还有你"mov si,160h"这句,这个160应该是2进制的,160h的话就不再第一页了
至于结尾的"s0:jmp short s0"应该没什么意义,好像是死循环

你是编译好直接运行的吗?在debug模式下试试,debug进去后,用g命令运行到程序结束,看看有没有效果。
sdtachenmeng
2楼-- · 2019-07-16 02:54
嗯,好了,我换了个dosbox就可以了

一周热门 更多>