求大神ps的后果全集解答汇编语言问题!!

最近刚接触汇编,有一堆有关问题,求大神 - 汇编语言当前位置:& &&&最近刚接触汇编,有一堆有关问题,求大神最近刚接触汇编,有一堆有关问题,求大神&&网友分享于:&&浏览:0次最近刚接触汇编,有一堆问题,求大神看的书是王爽的,但介绍的是8086cpu,我不知道自己电脑的内存分配,该如何写程序呢?另外,我们如此随意的分配内存,操作内存,电脑不会出问题吗?------解决思路----------------------给程序分配内存,那是&dos&的事;程序想越规操作自己程序范围外的内存,一个是通过&dos&的内存管理的几个功能调用,或者是要对&dos&的内存分配分布充分的熟悉。所以,建议初涉汇编时,只使用自己程序范围里的空间。------解决思路----------------------上操作系统其中一个很重要的原因就是解决复杂的内存的调用和释放&&&里面给出的内存控制函数使用一般不会产生风险
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有关于汇编语言里start的问题,在线求大神进。_汇编吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:21,902贴子:
关于汇编语言里start的问题,在线求大神进。收藏
QQ总是报错说超出了146bytes。求大神帮忙 谢谢了
DATAS SEGMENT
value1 db ?
value2 db ?
que_num db 3
;用于保存用户输入的题数
db 3 dup(?)
indata db 4
;用于保存用户输入的答案
db 4 dup(?)
db 'Addiction Operation$'
db 'Enter the number(00~99):$'
db 'Right$'
db 'Wrong$'
db 'eror$'
db 'sum:$'
db '--------------------------------------------$'
db 'You get the score:$'
db 'congratulations!$'
db 'Once again?(y/n):$'
hint10 db 'Enter "q" to end$'
hint11 db '100$'
hint12 db 'Press any key!$'
DATAS ENDSCODES SEGMENT
ASSUME CS:CODES,DS:DATAS;.............清屏宏.............
clean macro al1,bh1,ch1,cl1,dh1,dl1
10............定光标宏............sign macro bh1,dh1,dl1
10.....定光标并输出固定字符.......caidan macro bh1,dh1,dl1
21............主函数..............main proc far
MOV AX,DATAS
mov num0,0
mov num1,0
mov num2,0
mov num3,0
mov que_num[1],0
mov indata[1],0
clean 00h,01h,00h,00h,18h,50h
clean 00h,13h,04h,10h,13h,3fh
clean 00h,24h,05h,12h,12h,3dh
sign 0,11,1bh
call enter_number
clean 00h,24h,05h,12h,12h,3dh
clean 00h,13h,09h,11h,09h,3eh
sign 0,7,14h
call decorate
clean 00h,83h,0ah,1fh,12h,30h
cl,num0con1:
clean 01h,83h,0ah,1fh,12h,30h
sign 0,0eh,20h
call question
call answer
loop con1;检测键盘输入...........
clean 01h,83h,0ah,1fh,12h,30h
sign 0,0eh,20h
21h;.....over2:
call give_scoreagain:
sign 0,11h,2ch
sign 0,12h,22h
MOV AH,4CH
INT 21H主函数结束;.......此函数用于用户输入的答案.........
answer proc far
indata[di],0
indata[di],1
indata[di],2
al,indata[di]
bx,ax two:
al,indata[di]
bx,ax one:
al,indata[di]
;输入q时算分退出
right wrong:
sign 0,0eh,2bh
sign 0,7,3ah
call sever
over1 right:
sign 0,0eh,2bh
sign 0,7,2ah
call sever over1:
sign 0,7,1bh
call sever
retanswer endp
..........界面美化...........decorate proc far
call sever
sign 0,5,20h
sign 0,7,24h
sign 0,7,34h
sign 0,9,12h
sign 0,8,2dh
clean 00h,35h,0ah,12h,12h,1ehclean 00h,35h,0ah,31h,12h,3dh
caidan 0,0bh,15h
caidan 0,0ch,13h
caidan 0,0ch,15h
caidan 0,0ch,17h
caidan 0,0dh,15h
caidan 0,0dh,18h
caidan 0,0dh,1ah
caidan 0,0dh,1ch
caidan 0,0dh,1eh
caidan 0,0eh,14h
caidan 0,0eh,18h
caidan 0,0eh,1ah
caidan 0,0eh,1eh
caidan 0,0fh,14h
caidan 0,0fh,18h
caidan 0,0fh,1ah
caidan 0,0fh,1ch
caidan 0,0fh,1eh
caidan 0,10h,13h
caidan 0,10h,16h
caidan 0,10h,18h
caidan 0,11h,12h
caidan 0,11h,17h
caidan 0,0bh,31h
caidan 0,0bh,39h
caidan 0,0ch,39h
caidan 0,0ch,32h
caidan 0,0dh,31h
caidan 0,0dh,35h
caidan 0,0dh,37h
caidan 0,0dh,39h
caidan 0,0dh,3bh
caidan 0,0dh,3dh
caidan 0,0eh,32h
caidan 0,0eh,35h
caidan 0,0eh,39h
caidan 0,0eh,3dh
caidan 0,0fh,33h
caidan 0,0fh,35h
caidan 0,0fh,37h
caidan 0,0fh,39h
caidan 0,0fh,3bh
caidan 0,0fh,3dh
caidan 0,10h,32h
caidan 0,10h,35h
caidan 0,10h,39h
caidan 0,10h,3dh
caidan 0,11h,31h
caidan 0,11h,35h
caidan 0,11h,37h
caidan 0,11h,39h
caidan 0,11h,3bh
caidan 0,11h,3dh
retdecorate endp;............结算分数............give_score proc far
clean 00h,24h,0ah,12h,12h,3dh
sign 0,0eh,1dh
one_hundred
over3 zero:
over3one_hundred:
clean 00h,42h,0fh,20h,0fh,2fh
sign 0,0fh,20h
retgive_..............出题............
question proc far
[value1],dl
call sever
si,3000hdelay1:
di,0f300hloopdi1:dec
[value2],dl
call sever
cx ..........用户输入题数...............enter_number proc farstart1:
clean 02h,24h,05h,12h,12h,3dh
sign 0,0bh,1bh
dx,que_num
que_num[di],0
que_num[di],1
al,que_num[di]
al,que_num[di]
over4 eror:
sign 0,0ch,25h
start1over4:
retenter_.....分离两位数 并以字符形式输出....sever proc far
retsever endpCODES ENDS
END START代码段奉上
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或只需一步,快速开始
后使用快捷导航没有帐号?
查看: 1752|回复: 10
请问汇编李db与dw有撒区别
签到天数: 44 天[LV.5]常住居民I
- - db 难道是字节型么&&dw是字型么。。。求大神解释
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 121 天[LV.7]常住居民III
没错。。。。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 345 天[LV.8]以坛为家I
DB DW都是伪指令
数据定义伪指令用来为源程序中被处理的数据安排内存,赋予初值及定义名字的。
1.DB伪指令
变量名& &&&DB& & 表达式
其右边的表达式可以是以下的几种形式:1.数值表达式或数值表达式串;2.字节常量和字节常量串;3.疑问号:?(表示此变量的初值不确定);4、ASCII码字符串,即可以定义用单引号括起来的字符串(只有用DB定义变量时,才允许字符串长度超过2个字符);5.重复子句,其格式为:(&重复因子&&&DUP 表达式),重复因子n为正整数,表示定义了n个相应类型的数据单元;6.以上五种形式的组合。
2. DW伪指令
它与DB不同的是它为程序定义的是一个字数据区,它对数据区中数据的存取是以字(即两个字节)为单位的。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 295 天[LV.8]以坛为家I
不清楚&&反正我是这样用的:
DB& &'ASCLL'
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 70 天[LV.6]常住居民II
楼主正解!!!!!!
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 277 天[LV.8]以坛为家I
恩,db是字节型数据而dw是字型数据
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 39 天[LV.5]常住居民I
定义字节和字的。。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 22 天[LV.4]偶尔看看III
db是字节型数据而dw是字型数据
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 90 天[LV.6]常住居民II
对的,dw 是定义字型数据,db是定义字节型数据
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 49 天[LV.5]常住居民I
db&&就是 define&&byte& &定义字节单元&&
dw&&就是define&&word&&定义字单元
为自己带盐。。。。。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 4 天[LV.2]偶尔看看I
在课程中的第六章有详解
我是这么理解的
& && &D:定义;W:字型
一个字型就有2个字节,双字节的意思&&
比如你定义&&DW: 0123H, 0456H等等& &每个数占有2个字节,一共就有4个字节
B:byte&&字节& && &长度为DW的一半
其余差不多
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
站长推荐 /1
编程题目、CM题目、溢出题目、样本分析题目,这里应有尽有!
抓住机会,成功挑战还可获得丰厚礼品!
•••(
Powered by汇编语言的问题,求大神!_百度知道
汇编语言的问题,求大神!
MOV AX,7F7FADD AX,1000HAX=8F7F为什么OF=1哪里溢出了??
当操作时最高位发生变化时,OF位会置1,而操作时最高位不发生变化,OF置0因此MOV AX,7F7F
ADD AX,1000H后由于AX寄存器最高位由0变成1,所以OF被置1
那是SF吧,最高位有进位置1,OF是看有没有溢出
OF是有符号数的溢出, 有符号数的最高位是符号位,7F1F+F,如果作为有符号数,那就超出了16位数(16位数在-32768至+32767).所能表达的范围,溢出到了符号位上。带符号数的算术运算结果,of=1,表示产生溢出;否则of=0.
其他类似问题
为您推荐:
其他2条回答
溢出,是针对带符号数的。参加运算的二进制数,都是补码,结果,也是补码。楼主把这些补码,所对应的十进制数求出来,就知道是不是溢出了。-----其实,也不用仔细的求,看看正负号,就知道了。正数+正数,等于负数,显然是溢出了。
add&指令对标志位有影响
汇编语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 求大神解答 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信