小氼儿 发表于 2013-11-16 20:24:35

这个程序在dos系统下可以运行,在dosbox下就乱了……




我在dos下能跑出椭圆来,可是在dosbox下就很乱,为什么啊
还有一些小问题,在这里用offset时,后面*2是什么意思?为什么有的地方用89,有的地方写90?大神求助……


五号智能 发表于 2013-11-16 20:24:36

因为DOS,是16位系统,而不是32位的
千万不要忘了结贴啊~

夏七夕 发表于 2013-11-17 13:27:10

看起来好像很复杂的样子

尽处叹飘零 发表于 2013-11-23 17:22:09

我想把bcd变量中2个字节的bcd码转化为4个字节的bcd码,请懂的帮忙
code      segment
      assume cs:code
bcd db         12h,34h
bcd2         db 0,0,0,0
start:         mov al,bcd

接下来怎么编?

成长的意义 发表于 2013-11-23 21:33:33

尽处叹飘零 发表于 2013-11-23 17:22 static/image/common/back.gif
我想把bcd变量中2个字节的bcd码转化为4个字节的bcd码,请懂的帮忙
code      segment
      assume c ...

可以把一个字节分开
利用ax,

   mov si,0
mov di,0
mov cx,2
s: mov al,bcd
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
mov al,bcd2
inc di
mov ah,bcd2
inc di
inc si

loop s
随便意淫的,错了别笑话啊

qq348093088 发表于 2013-12-3 15:10:52

成长的意义 发表于 2013-11-23 21:33 static/image/common/back.gif
可以把一个字节分开
利用ax,



在LOOP里面用cx时记得入栈出栈,不然会成死循环滴

小氼儿 发表于 2014-1-16 12:42:38

五号智能 发表于 2014-1-13 01:25 static/image/common/back.gif
因为DOS,是16位系统,而不是32位的
千万不要忘了结贴啊~

嗯好的,只能在学校机房操作了……
页: [1]
查看完整版本: 这个程序在dos系统下可以运行,在dosbox下就乱了……