ぅ不想懂得ぃ 发表于 2012-3-26 23:34:45

汇编语言

编程:在屏幕中间分别显示绿色,绿底红色,白底蓝色的字符串‘welcome to masm!’





assume cs:codesg,ds:data,ss:stack
    data segment
    db 'welcome to masm!'
    db 02h,24h,71h
data ends

stack segment
dw 0
stack ends

codesg segment
strat: mov ax,data
      mov ds,ax
   mov ax,0b800h
   mov es,ax
   mov bx,0720h
   mov bp,10h
   mov cx,3
   
s0:push cx
   mov si,0
   mov di,0
   mov cx,16
   
s: mov al,ds:
   inc di
   mov es:42h,al
   inc si
   mov al,ds:
   mov es:42h,al
   inc si
   loop s
   
   add bx,0a0h
   inc bp
   pop cx
   loop s0
   
   mov ax,4c00h
   int 21h
codesg ends
end strat

请大家帮帮忙哪里出错了,多谢了!

莫名其妙 发表于 2012-3-26 23:34:46

ぅ不想懂得ぃ 发表于 2012-3-28 16:58 static/image/common/back.gif
可为什么我的电脑显示不了,是哪里有问题么

你执行了么?
masm ***.asm   link ***.obj    完了以后要 运行一下 ***.exe
如果你要是.exe执行以后不出东西 你试试 先debug ***.exe一下 然后 q 退出然后在执行 ***.exe 看看出不出来!!

莫名其妙 发表于 2012-3-27 17:17:07

bx

本帖最后由 莫名其妙 于 2012-3-27 17:19 编辑

程序执行正确就是显示区偏移地址找的不是中间的bx 的值应该是 12*160 +30*2    这个位置才是中间附近的   这个位置不用纠结额 程序对了显示出來不就行了!~

ぅ不想懂得ぃ 发表于 2012-3-28 16:58:24

莫名其妙 发表于 2012-3-27 17:17 static/image/common/back.gif
程序执行正确就是显示区偏移地址找的不是中间的bx 的值应该是 12*160 +30*2    这个位置才是中间附近的   ...

可为什么我的电脑显示不了,是哪里有问题么
页: [1]
查看完整版本: 汇编语言