汇编语言改错下列程序有错,请将他们找出来并改正过来,已知程序欲完成的功能是从两个无符号数中选出较大者送入MAX单元,若二

抚水柳枝2022-10-04 11:39:541条回答

汇编语言改错
下列程序有错,请将他们找出来并改正过来,已知程序欲完成的功能是从两个无符号数中选出较大者送入MAX单元,若二者相同,将MAX清0。
要求在第几个行,然后那个程序改成什么要写清楚了,或修改好了,完成的程序都行
1 SEGA SEGMENT
4 DAX: DW AOH
8 DAY DB 100H
12 MAX DB 0,0
15SEGA ENDS
18CSEG SEGMENT
21 ASSUME CS:CSEG; ASSUME DS: SEGA
25BEGIN:MOV DS,SEGA
27MOV AX ,DAY
29CMP AX ,DAY
33 JG XGY
35JA ZERO
40MOV AX,DAY
43XGY: MOV MAX,AX
47 ZERO MOV AH, 4CH
49 INT 21
50 CSEG END
56 END START

已提交,审核后显示!提交回复

共1条回复
xy010228 共回答了15个问题 | 采纳率100%
1 SEGA SEGMENT
4 DAX: DW AOH
8 DAY DB 100H;类型错误DAY DW 100H
12 MAX DB 0,0
15SEGA ENDS
18CSEG SEGMENT
21 ASSUME CS:CSEG; ASSUME DS: SEGA
25BEGIN:MOV DS,SEGA;立即数不能直接送段寄存器MOV AX,SEGA;MOV DS,AX
27MOV AX ,DAY;似乎是笔误,太低级MOV AX ,DAX
29CMP AX ,DAY
33 JG XGY
35JA ZERO
40MOV AX,DAY
43XGY: MOV MAX,AX
47 ZERO MOV AH, 4CH
49 INT 21
50 CSEG END
56 END START
1年前

相关推荐

汇编语言中OF与CF的区别请详细的说清楚,最好是举例子(不会的别说)
kwglin1年前1
tung1011 共回答了17个问题 | 采纳率88.2%
of的设置,以加法为例,如果两数符号相同,结果却相反,则of=1;否则of=0;(如果两数符号相反,是不会溢出的).
cf的设置,最高有效位(bit7,比如)向高位进位则为1,否则为0.所以实际上of是表示有符号数的溢出,cf是表示无符号数的溢出.
理解进位,从af位的设置更为容易.
例:
A的补码与B的补码计算后(加减)为C的补码
把C的补码看成无符号数,意义与C相同就是CF=0否则CF=1
把C的补码看成有符号数,意义与C相同就是OF=0否则OF=1
初级单片机综合题求解答,请用汇编语言
初级单片机综合题求解答,请用汇编语言

下图为8031微控制器扩展一片数据存储器6116(2KB)组成外部数据存储器扩展系统。请:①根据扩展电路,写出6116中的首字节和末字节在微控制器的64K外部数据存储器中所占用的地址。(5分)②编写程序,将5AH和A5H分别写入6116的首字节和末字节中。(4分)③ 编写程序,将6116所有字节清零。(6分)


流连的钟声1年前1
swordsman1122 共回答了22个问题 | 采纳率95.5%
地址低8位有u2锁存后提供,高3位由p2口的低3位提供,共11bit地址,E端接P26,所以6116在64k地址范围的地址为, 最基本地址是,4000h-47ffh 共 2k byte但由于P2.7,P2.6,P2.5,P2.5悬空,可以是任意值,都可读写到6116,所以6116有多重地址. 即0000h-ffffh的64k中,除了p2.6=0,的地址,其他地址均可分成多个2k的块,每个2k的块都可读写到同一个6116的数据。2. mov A,#5ah MOV DPH,#40H MOV DPL,#0 movx @DPTR,A MOV A,#0A5H MOV DPH,#47H MOV DPL,#0FFH movx @DPTR,A3. MOV A,#0 MOV DPH,#40H MOV DPL,#0 MOV R0,#7hLOOP1: MOV R1,#0ffhloop2: movx @dptr,a inc dptr djnz R1,LOOP2 djnz R0,LOOP1
汇编语言TEST假定(AX)=5555H (BX)=0FF00H执行下列语句后,求(AX) 并写出PSW各位状态AND
汇编语言TEST
假定(AX)=5555H (BX)=0FF00H
执行下列语句后,求(AX) 并写出PSW各位状态
AND AL,01H
AND AX,BX
TEST AL,08H
书给的答案是:(AX)=5555H PF=ZF=1
感觉(AX)的值不对啊.应该是5501H吧(第二条执行后 T指令与值无关),
zhangzhiyi031年前1
jingjii 共回答了19个问题 | 采纳率89.5%
ax=0101010101010101B
al=01010101B
and al,01H
01010101
00000001
--------------
00000001
al=00000001B
ax=0101010100000001B
and ax,bx
0101010100000001
1111111100000000
-----------------------------
0101010100000000
ax=0101010100000000B
ax=5500H
test al,08H
pf=zf=1
把数OB5H与(AL)相加,并把结果送回AL中的汇编语言指令是 要准确的答案,这是道填空题
猫猫0021年前1
终于穿上cc了 共回答了18个问题 | 采纳率83.3%
0B5H是个立即数,还是一个地址?
如果是立即数的话,就是
add al,0b5h
如果是地址的话,就是:
mov bx,0b5h
add al,[bx]
不过既然是道填空题,应该是第一种情况吧.
谁能详细讲解分析下这个汇编程序什么意思,哦是新手,不懂阿
谁能详细讲解分析下这个汇编程序什么意思,哦是新手,不懂阿
1. DATA DB 46H,84,34,-3,20H,122,73
   :
   MOV CX,7
   LEA S1,DATA
  NEXT:MOV AL,[SI]
   INC SI
   TEST AL,81H
   LOOPZ NEXT
   MOV BL,[SI]
   :
 程序段运行后,请回答:(AL)= (BL)= 。
答案:(AL)= -3或(0FBH) (BL)= 20H
rert2t4t421年前1
小艾的天使 共回答了21个问题 | 采纳率95.2%
DATA DB 46H,84,34,-3,20H,122,73 ;定义数据段DATE,包含7个字节变量,并赋值
;46H,84,34,-3,20H,122,73。
MOV CX,7 ;把数据7赋值给cx,cx=7,设置循环次数
LEA S1,DATA ;取date地址存储到S1中,si=data的首地址
NEXT:MOV AL,[SI] ;把si地址内的内容放入AL
INC SI ;si地址自增1
   TEST AL,81H ;81h=10000001B,若al值得最高位与最低位为1,则zf为1
   LOOPZ NEXT ;检查cx
求这条汇编语句的解释:mov ax,SEG ADDR of Segment 0002
美丽从这里开始1年前1
厦门贝壳 共回答了17个问题 | 采纳率94.1%
取段号为0002的段地址,送寄存器AX
汇编说明下列指令的作用,执行后R0=?
汇编说明下列指令的作用,执行后R0=?
MOV R0,#45H
XCH A,R0
SWAP A
XCH A,R0
三爱1年前1
zydchm 共回答了19个问题 | 采纳率78.9%
汇编说明下列指令的作用,执行后R0=?
MOV R0,#45H
XCH A,R0
SWAP A
XCH A,R0
R0 = 54H
简单的汇编语言求解.请问SOURCE DB N DUP (0) 这句话是什么意思?DB是什么意思? DUP是什么 意思,
简单的汇编语言求解.
请问SOURCE DB N DUP (0) 这句话是什么意思?DB是什么意思? DUP是什么 意思,谢谢.
lrcip11年前1
品茶12 共回答了15个问题 | 采纳率86.7%
SOURCE是标号,DB就是定义字节单元,N和DUP是配合使用的,表示重复N次,括号里面的是单元的初始值
综合来讲,就是定义一个名叫SOURCE的由N个字节组成的储存单元,同时赋给初值0
等同于C中的:
char SOURCE[N];
memset(SOURCE,0,N) ;
这样,不知道明白否?
汇编语言。在内存中,每一小段的大小为多少 答案是16B。为什么?
花菜宝宝1年前1
风仪衣 共回答了19个问题 | 采纳率94.7%
在8086汇编中,内存地址共20位二进制位。其中又分为16位的段地址再加段内偏移。最小的段偏移为4位的二进制位即16个字节。
即答案是16B。
为什么加1指令INC和减1指令对Cf标志位没有影响?(汇编语言的问题)
为什么加1指令INC和减1指令对Cf标志位没有影响?(汇编语言的问题)
加1指令INC可以实现字节加1或字加1,
还有减1指令DEC可以实现字节的减1或字的减1,
可是,书上说他们都不影响CF标志位.
为什么呢?
我就用加1指令语句来反证:
INC 0000000011111111
这条语句一执行,不久得到数0000000100000000了吗!这不久是产生进位了吗
请知道的大哥们解释哈 谢谢哒
fantacyraide1年前1
检测用户名wu 共回答了20个问题 | 采纳率90%
这位童鞋很好学嘛!
1.INC,DEC指令不影响CF标志位,这个是Intel规定的!其原因是硬件设计造成的,总之,对软件人员来说不重要!
2.INC,DEC指令不影响CF标志位,这表明执行INC/DEC指令之后,CF不能反映进位情况
INC 0000000011111111
0000000011111111+1当然要进位,但不设置CF为1.
你的问题就在于,将进位与CF等同
CF被称为进位标志位,在多数情况下,它确实反映进位情况,但不是绝对的,INC/DEC就是其中两例
INC/DEC指令不影响CF标志位,这句话就是明明白白地告诉你,此时,CF与进位无关
汇编中的DW是什么意思那DB 它们什么作用?
上帝向钱看1年前1
天天来涯 共回答了10个问题 | 采纳率90%
DW 定义一个字
DB 定义一个字节
DD 定义一个双字
前面的D表示定义,后面的字母W 、B 、D依次表示字(一般为16位)、字节(为8位)、双字(一般为32位)
它们起的作用,一般是在程序中作变量使用.
人类大脑能记住多少东西我正在学黑客,可是现在才发现黑客都是超人!活生生的超人!光汇编那点玩意就那么都指令,以后还有C++
人类大脑能记住多少东西
我正在学黑客,可是现在才发现黑客都是超人!活生生的超人!
光汇编那点玩意就那么都指令,以后还有C++和数据库呢.这怎么记得住?
人类大脑究竟能记住多少东西?
33128277581年前1
受过伤的鱼 共回答了19个问题 | 采纳率84.2%
一个人的脑储存信息的容量相当于1万个藏书为1000万册的图书馆
大脑又称端脑,脊椎动物脑的高级的主要部分,由左右两半球组成,在人类为脑的最大部分,是控制运动、产生感觉及实现高级脑功能的高级神经中枢.脊椎动物的端脑在胚胎时是神经管头端薄壁的膨起部分,以后发展成大脑两半球,主要包括大脑皮层和基底核两部.大脑皮层是被覆在端脑表面的灰质、主要由神经元的胞体构成.皮层的深部由神经纤维形成的髓质或白质构成.髓质中又有灰质团块即基底核,纹状体是其中的主要部分.广义的大脑指小脑幕以上的全部脑结构,即端脑、间脑和部分中脑(见中枢神经系统).
大脑由约140忆个细胞构成,重约1400克,大脑皮层厚度约为2--3毫米,总面积约为2200平方厘米,据估计脑细胞每天要死亡约10万个(越不用脑,脑细胞死亡越多). 一个人的脑储存信息的容量相当于1万个藏书为1000万册的图书馆,最善于用脑的人,一生中也仅使用掉脑能力的10%.人脑中的主要成分是水,占80%.它虽只占人体体重的2%,但耗氧量达全身耗氧量的25%,血流量占心脏输出血量的15%,一天内流经大脑的血液为2000升.大脑消耗的能量若用电功率表示大约相当于25瓦.
汇编语言基础问题有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是
汇编语言基础问题
有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为____,最大为____。最小怎么求
leichang1年前1
红酒醉人 共回答了13个问题 | 采纳率92.3%
首先, 物理地址 = 段地址 * 10H + 偏移地址
现在我们知道了物理地址为20000H, 且偏移地址的范围是0000H ~ 0FFFFH
所以段地址 * 10H = 20000H - 0000H 或者 20000H - 0FFFFH
所以段地址 = 20000H / 10H 或者 10001H / 10H
段地址 = 2000H(最大) 或者 1001H(最小, 有余数1, 向上取整)
这里有一个很容易错误的地方就是, 很多人会将最小段地址设置成1000H, 这是不对的
因为如果段地址为1000H的话,那么加上偏移地址的话, 那么它的物理地址的范围就
为10000H ~ 1FFFFH, 取不到20000H,这个地址
PS:若有不明白的地方, 请追问
关于汇编里减法对标志寄存器FLAG的影响
关于汇编里减法对标志寄存器FLAG的影响
sub bh bl
;BH=48H,HL=48H,即BX=4848H ;CF=0,ZF=0,SF=0,OF=1,AF=1,PF=1
我的想法是 CF为进位、借位,此时CF为0
运算结果是0,此时ZF应该为1,为什么书上为0?
OF为什么为1?
AF为什么为1,并没有辅助进位啊?
yanzhen_5201年前1
萧寒玉 共回答了21个问题 | 采纳率85.7%
学一门编程语言,唯一的方法就是上机编程.
你既然怀疑书上的结果,就应该亲自动手试验.
mov bh, 48h
mov bl, 48h
sub bh, bl
这是执行完sub之后的标志寄存器结果:
NV UP EI PL ZR NA PE NC
NV表示无溢出,OF = 0
PL表示结果非负,SF = 0
ZR表示结果为0,ZF = 1
NA这个只对BCD码的运算有意义,不用管
NC表示无进位,CF = 0
用汇编语言编写程序实现符号函数y=f(x):-128
siuguanbo1年前1
蜗牛snailie 共回答了15个问题 | 采纳率100%
DATA SEGMENT
y1 DB 1
y2 DB 0
y3 DB -1
y DB ;(此处存放判定结果)
x db ;(此处设定要用的x,代换调“?”即可)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AL,x
SAL AL,1;算术左移指令,左移1位将最高位符号标志位移进符号位cf
JNC Y1;CF是否等于1,不等于1,说明是正数
MOV AL,x
CMP AL,0;重新赋值,判断是否等于0
JC Y2;等于则跳转,否则
SAL AL,1
JC Y3;CF是否等于1,等于1,说明是负数
JMP DONE
Y1:MOV AH,y1
MOV y,AH
JMP DONE
Y2:MOV AH,y2
MOV y,AH
JMP DONE
Y3:MOV AH,y3
MOV y,AH
JMP DONE
DONE:MOV AH,4CH
INT 21H
CODE ENDS
END START
汇编问题XOR不懂3.23 假设(BX)=0E3H,变量VALUE中存放的内容为79H,确定下列各条指令单独执行后的结果
汇编问题XOR不懂
3.23 假设(BX)=0E3H,变量VALUE中存放的内容为79H,确定下列各条指令单独执行后的结果.(1) XOR BX,VALUE ;(BX)=9AH,CF、OF都为0,AF无定义,SF=1,ZF=0,PF=1(2) AND BX,VALUE ;(BX)=61H,CF、OF都为0,AF无定义,SF=0,ZF=0,PF=0(3) OR BX,VALUE ;(BX)=0FBH,CF、OF都为0,AF无定义,SF=1,ZF=0,PF=0(4) XOR BX,0FFH ;(BX)=1CH,CF、OF都为0,AF无定义,SF=0,ZF=0,PF=0(5) AND BX,0 ;(BX)=00H,CF、OF都为0,AF无定义,SF=0,ZF=1,PF=1(6) TEST BX,01H ;(BX)=0E3H,CF、OF都为0,AF无定义,SF=1,ZF=0,PF=0解释下,我是新手,
weiyao1231年前1
memezi37 共回答了20个问题 | 采纳率85%
XOR 异或指令 1⊕1=0,1⊕0=1,0⊕1=1,0⊕0=0 使某些位求反,其他位维持不变.如(1) XOR BX,VALUE BX 1110 0011 VALUE 0111 1001 ---------------------- XOR 1001 1010所以(BX)=9AHXOR指令对标志位的影响是:使得CF位和OF位为0,AF位无定义,SF,ZF,PF位则根据运算结果设置.
汇编32位的数和16位的数怎么做运算
汇编32位的数和16位的数怎么做运算
X=X+Y
X=X-Y
X=(Z+100)/50
Z=X*Y+100
Y=(Z+100)/X
其中Z为32位 X,Y为16位 ,怎么用汇编语句将上述各项语句表示出来
蓝血气质1年前1
DUK2 共回答了12个问题 | 采纳率91.7%
将 x y 扩展到32位,然后按照32位运算就好了
汇编语言求三个数中的最小值并输出
cafdsg1年前1
追到手 共回答了24个问题 | 采纳率95.8%
1.编程题;变量X, Y, Z中存放了三个有符号数,编写程序将其最小数送到AX寄存器中,源程序中不少于4条重要注释.ASSUME CS:CODE, DS:DATADATA SEGMENTX DW 128Y DW 8Z DW 256DATA ENDSCODE SEGMENTSTART:MOV AX, DATAMOV...
中考英语短文填空一个语法问题2013年中考英语真题分类汇编——短文填空(含答案解析) 热 ★★★ 2013年中考英语真题
中考英语短文填空一个语法问题
2013年中考英语真题分类汇编——短文填空(含答案解析) 热 ★★★ 2013年中考英语真题分类汇编——短文填空(含答案解析) 作者:佚名 文章来源:网络 点击数:10370 更新时间:2013-8-13 15:46:16 【2013江西】B) 请先阅读下面短文,掌握其大意,然后从方框中所给的词中选出最恰当的10个,用其适当形式填空,并将答案填写到答题卷的相应位置.每个词限用一次.(每小题1分) take tree beach like island but leave exciting enjoy outside as something My favorite TV program is a reality show called Survivor (幸存者).It isn’t on TV at the moment 66 it was on last year.In the show,two teams of people are taken to a (an) 67 .All of them have to sleep 68 because there aren’t any houses or hotels.They usually choose 69 really useful like a toothbrush since they can only 70 one thing with them.The people also have to find food and they spend a lot of time fishing and collecting fruit from the 71 .Every week one person has to 72 .At the end,there are only two people on the island and one them is chose 73 the winter.I really like Survivor because it’s very 74 and the people have to do things like hunting for food.I really 75 myself when I watch it.I don’t want to be on the show,however,I like living in a house!【答案】66.but 67.island 68.outside 69.something 70.take 71.trees72.leave 73.as 74.exciting 75.enjoy
为什么最后一个是enjoy 而不是 enjoyed
highyb481年前1
光丫 共回答了22个问题 | 采纳率90.9%
enjoy是过去式.
关于汇编,谁会呢?已知:(AX)=01CDH,(BX)=0AFH,(CX)=0BE02H,CF=1,写出单步执行每条指令
关于汇编,谁会呢?
已知:(AX)=01CDH,(BX)=0AFH,(CX)=0BE02H,CF=1,写出单步执行每条指令时CF,ZF及相关寄存器的内容.
TEST AX,BX ;AX= H,BX= H
;CF= ,ZF=
ROL BX,CL ;(BX)= H,(CL)= H
(AL)=9AH,(BL)=0BCH,当分别进行下列指令运算后,请写出标志位的内容.
(1)ADD AL,BL;ZF= ,PF= ,CF= ,SF= ,OF= .
(2)SUB AL,BL;ZF= ,PF= ,CF= ,SF= ,OF= .
(3)AND AL,BL;ZF= ,PF= ,CF= ,SF= ,OF= .
(4)OR AL,BL;ZF= ,PF= ,CF= ,SF= ,OF= .
(5)XOR AL,BL;ZF= ,PF= ,CF= ,SF= ,OF= .
c7_s1年前1
7530470 共回答了26个问题 | 采纳率100%
TEST AX,BX ;AX=01CD H,BX= 0AF H
;CF=0 ,ZF= 0
ROL BX,CL ;(BX)=02BC H,(CL)= 02 H
(1)ADD AL,BL;ZF=0 ,PF= 1 ,CF= 1 ,SF= 0,OF= 1 .
(2)SUB AL,BL;ZF= 0 ,PF= 1 ,CF= 1 ,SF= 1,OF= 0 .
(3)AND AL,BL;ZF= 0 ,PF= 0 ,CF= 0 ,SF= 1 ,OF= 0 .
(4)OR AL,BL;ZF= 0 ,PF= 1 ,CF= 0 ,SF= 1 ,OF= 0 .
(5)XOR AL,BL;ZF= 0 ,PF= 0 ,CF= 0 ,SF= 0 ,OF= 0 .
汇编数据定义和分配数据单元S1 DB 1,2,3,4,5S2 DB '12345'
jingxian051年前1
wangpei514_ 共回答了22个问题 | 采纳率90.9%
s1是数值
s2是数字串
内存中的情况是(16进制表示的)
s1: 01 02 03 04 05
s2:31 32 33 34 35
汇编语言编译时提示out of range错误
汇编语言编译时提示out of range错误
DATA SEGMENT
BUF1 DW 5 DUP(?)
BUF2 DW 5 DUP(?)
MYDATA DB 1,2,20,4,5,3,4,40,5,20,5,6,60,6,20,1,2,20,4,20,2,3,10,5,15
DATA ENDS
STACK SEGMENT STACK
DW 5 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SI,BUF1
LEA DI,BUF2
LEA BX,MYDATA
MOV CX,5
AGAIN:XOR AX,AX
MOV AL,[BX]
INC BX
MOV DL,[BX]
INC BX
IMUL DL
PUSH AX
MOV AL,[BX]
INC BX
CBW
MOV DL,[BX]
INC BX
IDIV DL
CBW
PUSH AX
MOV AL,[BX]
INC BX
CBW
XOR DX,DX
SUB DX,AX
POP AX
ADD DX,AX
POP AX
ADD DX,AX
JS IFNE
MOV [SI],DX
MOV AX,[SI]
MOV DL,10
IDIV DL
MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
MOV AX,[SI]
MOV DL,10
IDIV DL
MOV DL,AH
ADD DL,30H
MOV AH,02H
INT 21H
JMP OVER
IFNE:MOV [DI],DX
MOV DL,'-'
MOV AH,02H
INT 21H
MOV AX,[DI]
XOR AX,0FFH
INC AX
MOV DL,10
IDIV DL
MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
MOV AX,[DI]
XOR AX,0FFH
INC AX
MOV DL,10
IDIV DL
MOV DL,AH
ADD DL,30H
MOV AH,02H
INT 21H
OVER:MOV DL,0AH
MOV AH,02H
INT 21H
MOV DL,0DH
MOV AH,02H
INT 21H
INC SI
INC DI
LOOP AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START
这是我写的代码,编译时提示out of range by 7 bytes错误,提示错误发生在倒数第五行,就是LOOP错误,什么原因,关键是有什么办法修改吗,
毛球球881年前1
cancer123456 共回答了16个问题 | 采纳率87.5%
你看书上的指令系统里面是这么介绍的,LOOP rel,这个rel是8位补码数表示的偏移地址,8位补码数的表数范围为-128~127,即LOOP指令的目的地址应该在 当前地址-128~当前地址+127 之间,也就是说LOOP指令可以往前跳128个字节或是往后跳127个字节.
很明显,你的目的地址AGAIN在LOOP之前,而且这个距离超过了128个字节,这个字节数是指的指令编译后生成的二进制代码的长度,比如说XOR AX,AX占1个字节,INC BX占一个字节,MOV DL,10占两个字节,具体的你自己推算.
那么碰到这样子的情况要怎么处理?一是优化程序,精简指令代码,看你的错误提示是多超出了7个字节,应该是可以想办法减少的.另外就是中转了,用LOOP跳不过去,那我可以先用LOOP跳到一个较近的地方,在用JMP指令跳转,JMP指令的跳转范围是64K,毫无压力的,程序后几行改成如下试试:
INC SI
INC DI
LOOP AGAIN11
MOV AH,4CH
INT 21H
AGAIN11:JMP AGAIN
CODE ENDS
END START
是我国第一部散文集,它是_________的汇编
唐僧之女生版1年前1
方块网 共回答了29个问题 | 采纳率86.2%
《尚书》是我国现存最早的关于上古时期典章文献的汇编《尚书》是我国第一部散文集,它是上古历史文献集《尚书》所录,为虞、夏、商、周各代典、谟、训、诰、誓、命等文献.其中虞、夏及商代部分文献是据传闻而写成,不尽...
始终还是不懂汇编中的算术左移 右移 还有cf 高位 低位什么意思 怎么移呢 例如 1001010 怎么左移 右移 具
将豆浆进行到底1年前1
傻瓜小拧 共回答了15个问题 | 采纳率100%
例如 :1001010
左移:0010100 最高位的1被移掉了,后面补个0
右移:0100101 低位的0被移掉了,高位补了个0
对于CF标志位,刚刚上面的例子中,左移就会将CF置1,因为最高位是1,左移产生了进位
另外,加法的进位,减法的借位也会影响CF的值
汇编程序问题1.程序功能:在内存HEX单元中存放一个无符号字节数据,将其拆成两个字节数据,分别存放在DATA和DATB单
汇编程序问题
1.程序功能:在内存HEX单元中存放一个无符号字节数据,将其拆成两个字节数据,分别存放在DATA和DATB单元的低4位中,相应的高四位置0。(DATA存放低位,DATB存放高位)
DSEG SEGMENT
HEX DB 0A6H
DATA DB 0
DATB DB 0
DSEG ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DSEG
START : MOV AX, DSEG
MOV DS, AX
————————
MOV AH, AL
AND AL, 0FH
_____________
_____________
_____________
ROL AH, CL
_____________
MOV AH, 4CH
INT 21H
CODE ENDS
END START
2.请在空白处填写适当指令,使程序完成功能。下列程序的功能是:在DATA单元中有一个 无符号数,将其乘以12,结果存入DATB单元中。
DSEG SEGMENT
DATA DB 5
DATB DW ?
DSEG ENDS
CODE SEGMENT
_____________
START: MOV AX, DSEG
MOV DS, AX
MOV BL, DATA
MOV BH, 0
____________
SHL BX, CL
_____________
SHL BX, 1
______________
MOV DATB, AX
INT 21H
_____________
END START
hz0066221年前1
e_a_s_y 共回答了25个问题 | 采纳率96%
1.程序功能:
在内存HEX单元中存放一个无符号字节数据,将其拆成两个字节数据,分别存放到
DATA和DATB单元的低4位中,相应的高四位置0。(DATA存放低位,DATB存放高位)
DSEG SEGMENT
HEX DB 0A6H
DATA DB 0
DATB DB 0
DSEG ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DSEG
START: MOV AX, DSEG
MOV DS, AX
————————下面改写成直接分离高低四位
MOV AL, HEX
MOV AH, 0
MOV BL, 16
DIV BL
MOV DATA, AH
MOV DATB, AL
————————
MOV AH, 4CH
INT 21H
CODE ENDS
END START
=====================
2.请在空白处填写适当指令,使程序完成功能。
下列程序的功能是:
在DATA单元中有一个 无符号数,将其乘以12,结果存入DATB单元中。
DSEG SEGMENT
DATA DB 5
DATB DW ?
DSEG ENDS
CODE SEGMENT
___ASSUME CS:CODE, DS:DSEG___;填空
START: MOV AX, DSEG
MOV DS, AX
MOV BL, DATA
————————;下面改写成乘以12
MOV AL, 12
MUL BL
————————
MOV DATB, AX
___MOV AH, 4CH____ ;这里,题目少写了一行填空
INT 21H
___CODE ENDS_____ ;填空
END START
说明:
题目中的有些空,填写起来,比较困难。
因为出题的人,思路很混乱,程序,并不恰当。
直接改写,就简单了,功能也不变。
汇编的题 给做做吧!!!二、判断题1.任何微处理器都有运算和控制功能,但不具备存储功能。()2.微型计算机的工作过程是执
汇编的题 给做做吧!!!
二、判断题
1.任何微处理器都有运算和控制功能,但不具备存储功能。()
2.微型计算机的工作过程是执行程序的过程,而程序的执行又是重复执行指令的过程,因此计算机的工作过程本质上就是执行指令的过程。 ()
3.无论什么微机,其cpu都具有相同的机器指令。 ( )
4.cpu是中央处理器的简称,它至少包含一个处理器,为了提高计算速度,cpu也可以由多个处理器组成。 ()
5.微机的字长愈长,计算精度愈高,指令处理功能愈强。 ()
6.8086微处理器内部由执行部件和总线接口部件构成。 ()
7.80x86的外部硬件中断包括非***中断(nmi)和可***中断(intr)两类,它们都受cpu内部的中断允许标志(if)的控制。 ( 。前
16.程序计数器是确保微处理器有序的执行程序的关键性寄存器,用于存放下一条要执行的指令的地址码。 ()
17.8086存储器系统中,当a0=0且bhe=0时,访问奇地址起始的一个字。 ()
18.8086存储器系统中,偶地址数据由数据线低8位传送。 ()
19.8086存储器系统中,奇地址数据由数据线高8位传送。 ()
20.计算机存储器连接中采用部分译码电路时,地址空间有重叠区。 ()
三、汇编程序问题
1.指出以下程序段的功能。
mov cx, 0
mov ax, buff1
again:and ax, ax
jz stp
sal ax,1
jnc zer
inc cx
zer:jmp again
stp:mov word ptr buff2, cx
hlt
该程序的功能是。
2.指出以下程序段的功能。
mov ax, x
orax, x
jz zero
jns plus
mov bx, 0ffffh
jmp finish
zero: sub bx, bx
jmp finish
plus: mov bx, 0001h
finish: mov funcy, bx
该程序段的功能是。
3.指出下列指令源操作数据的寻址方式,并给出目的(寄存器或存储器地址)及目的操作数的数值。
(1)mov si,offset str2
(2)mov bx, count
(3)add ax, word ptr [di+2]
(4)mov word ptr [di],di
(5)push ax
四、程序设计题
1.求5个数中的最大值、最小值、平均值。
2.5个数小到大排序。
3.10个数中负数的和。
五、接口应用题
1.已知8253的时钟信号频率为1mhz,三个计数器及控制口的地址分别是40h、42h、44h和46h,在不增加硬件芯片的情况下,欲使8253产生1s的对称方波。
分别画出8253和pc系统总线的连接以及计数通道信号的连接示意图(4分)
依照硬件连接图编写8253的初始化程序(6分)
附8253控制字格式:d7d6—选择计数器,d5d4—读/写高低字节,d3d2d1—工作方式,d0=0/1—二进制/十进制
给做做吧!!!!!!!!!!!求正解、答案
zhouqianjieer1年前1
ctz800426 共回答了20个问题 | 采纳率85%
家教白菜价,估价300RMB,一来你不愿意,二来这个价格还是买不起我现在的时间。所以路过
关于汇编语言的问题RT.已知段地址和偏移地址都是16进制的求物理地址?.1.3040:0102这个我知道是30502H
关于汇编语言的问题RT.已知段地址和偏移地址都是16进制的求物理地址?.1.3040:0102这个我知道是30502H
但A000:
阿弥陀佛555301年前1
luobin1001 共回答了15个问题 | 采纳率100%
物理地址=段地址*10h+偏移地址
A000:001E的话就是A001EH
汇编语言中 加法(ADD)与带进位加法(ADC)有什么区别?
StOp感觉1年前1
mylan8 共回答了16个问题 | 采纳率81.3%
就是考虑不考虑CF的区别,简单说吧ADD是把2个数加起来,ADC是2个数加起来再加CF,CF是溢出标志位
如果你有一定的硬件知识的话,ADD就是半加器,ADC就是全加器
汇编高手来帮帮忙,谢谢了 在线等答案 谢谢了
汇编高手来帮帮忙,谢谢了 在线等答案 谢谢了
一、判断题(5道小题,共15分)
1、指令“mov bx,[si]”的源操作数来自寄存器SI。(3分)
正确
错误

2、使用DW伪指令定义一个变量,该变量至少占2个字节存储单元。(3分)
正确
错误

3、MASM汇编语言的注释用分号开始,这个分号不可以用中文分号。(3分)
正确
错误

4、程序员有时采用十六进制形式表达数据,因为计算机内部寄存器电路采用这种进制。(3分)
正确
错误

5、指令“mov ax,ds:[100h]”中,若DS=1400H,则源操作数来自主存物理地址1500H。(3分)
正确
错误



二、单项选择题(5道小题,共15分)
1、采用DW伪指令定义的每个变量是__________位的数据。(3分)
A、64
B、32
C、16
D、8

2、在8086处理器中,用来指示当前堆栈顶部的寄存器是___________。(3分)
A、SP
B、IP
C、BP
D、SS

3、汇编语言程序定义符号常量max等于100,正确的表达是_________。(3分)
A、max = 100
B、max db 100
C、max dw 100
D、max org 100

4、8086的主存采用字节编址,一个字节的二进制位数是__________位。(3分)
A、2
B、4
C、8
D、16

5、某个8086存储单元的逻辑地址为A400H:2400H,其物理地址是__________。(3分)
A、D7000H
B、A6400H
C、3D400H
D、0A640H



三、简答题(5道小题,共30分)
1、8086处理器有一个CF标志,它是如何定义的?并给出3条影响该标志的指令。
(6分)



2、说明8086中逻辑地址的组成。假设DS=2100H,BX=0200H,则指令“mov
ax,[bx]”访问的存储器操作数所在的物理地址是什么?
(6分)



3、8086编程时使用逻辑地址,举例说明其如何转换成物理地址?
(6分)



4、说明“AND AX,BX”和“TEST AX,BX”指令功能上的相同和不同之处。
(6分)



5、各举一个执行性语句和指示性语句的实例,说明汇编语言语句的4个组成项。
oi0n0yowsng1年前1
ehappyhy 共回答了22个问题 | 采纳率81.8%
X00XX
CAACB
进位标志位,无符号运算时记录进位或借位值
mov al,0ffh
add al,al
mov al,3
sub al,4
sub al,al
段地址:偏移地址
21200
物理地址=段地址*16+偏移地址
相同:影响标志位 不同:AX
mov ds,ax
data segment
现有X、Y二个数组:X=32、-43、76、95、-1,Y=-78、127、-128、-125、88用汇编语言编程,计算
现有X、Y二个数组:X=32、-43、76、95、-1,Y=-78、127、-128、-125、88用汇编语言编程,计算两个数和
现有X、Y二个数组:   X=32、-43、76、95、-1   Y=-78、127、-128、-125、88 用汇编语言编程,计算两个数组之和,结果送另一数组,即S(i)=X(i)+Y(i). 要求:1.编写完整的程序代码
2.根据实验要求写出运行后正确无误的MASM、LINK和DEBUG命令格式
3.写出程序的数据段、代码段的位置和大小
有会做的吗?如果可以,后面还可以加分30!
无敌丫丫1年前1
zywd89829 共回答了12个问题 | 采纳率91.7%
1. DATASEGMENT ;定义数据段 X DB 32,-43,76,95,-1 Y DB -78,127,-128,-125,88 S DB 5 DUP(?)DATA ENDSCODE SEGMENT ;定义代码段 ASSUME CS: CODE, DS: DATASTART: MOV AX,DATA ;数据段初始化 MOV DS,AX MOV CL,5 MOV BX,0NEXT MOV AL,X[BX] ADD AL,Y[BX] MOV S[BX],AL INC BX DEC CL JNZ NEXT MOV AH,4CH ;返回DOS INT 21HCODE ENDS ;代码段结束 END START ;程序结束
2.C:masm>MASM TEST3;C:masm>LINK TEST3;C:masm>DEBUG TEST3.EXE
其中TEST3为源程序的名字
3
数据段的位置:00000H~0000EH,
数据段的大小:0000FH个字节
代码段的位置:00010H~0002EH,
代码段的大小:0001FH个字节
希望能帮到你哦~
急求急求急求用汇编语言写一个数据比较程序
急求急求急求用汇编语言写一个数据比较程序
预设一个数值为37H,而通过测量的到多个不确定数值与37H比较,小于或等于37H的数据进行输出显示.大于37H的返回继续测量.
流程图:开始——初始化———背光光线检测(某数值)———是否低于预定背光数值(37H)————(是)输出;(不是)则循环背光检测.
实习小生1年前1
俺初来炸道 共回答了16个问题 | 采纳率87.5%
这个描述也只能编制一个示意程序.假设用ADC0809来检测CLK EQU P1.7 ;时钟信号ST EQU P1.6 ;启动信号EOC EQU P1.5 ;转换结束信号OE EQU P1.4 ;输出使能ORG 0000HLJMP MAINORG 0030HMAIN:MOV TMOD,#02HMOV TH0,#20MOV ...
孔子是古代伟大的()和(),孔子一生的主要言行,经其弟子整理汇编成《》一书,成为()家学派的经典.
孔子是古代伟大的()和(),孔子一生的主要言行,经其弟子整理汇编成《》一书,成为()家学派的经典.
孔子的名言:()
赵kk针灸1年前1
ddvddvddv 共回答了16个问题 | 采纳率87.5%
思想家,教育家,论语,儒
汇编语言 溢出的判断标准可以理解这个样子吗?正正相加得负 负负相加得正 正负相减得负 负正相减得正
wansong41年前1
蔹天 共回答了15个问题 | 采纳率93.3%
溢出,是超出了有符号数的范围.
判断标准有三种:
1.由计算结果来判断
当出现:正正相加得负、负负相加得正、正减负得负、负减正得正,都是产生了溢出.
2.由计算后的标志位来判断
当出现:OV = 1 时,就是产生了溢出.
3.由计算过程中的进位来判断
当出现:最高位的进位(即符号位的进位)和“次高位”的进位 不相同 时,就是产生了溢出.
针对任何一次加、减运算,用这三种方法来判断,结论都是相同的.不信,可以自己试试看.
汇编的一道除法题,AX=2000H,CL=90H,则DIV CL后AX=
悲伤并不来1年前1
今日未食饭 共回答了28个问题 | 采纳率89.3%
不知道
汇编 求十个数中的奇偶数 并求奇数之和 偶数之和
涛子0081年前1
旒檐斐屿 共回答了23个问题 | 采纳率91.3%
判断最后一位是否为1,是则累加奇数寄存器,否则累加偶数寄存器即可
一道简单的汇编语言填空题.如果DS = 8225H,DI = 3942H,那么MOV AL,BYTE PTR[DI],操
一道简单的汇编语言填空题.
如果DS = 8225H,DI = 3942H,那么MOV AL,BYTE PTR[DI],操作数的指令的物理地址是什么?
lilarong1年前1
陈一心 共回答了17个问题 | 采纳率88.2%
操作数的物理地址 = 段寄存器中的段地址 * 10H + 段内偏移地址.
你这一题中,源操作数使用的是寄存器间接寻址方式,缺省段寄存器为DS.
所以,段地址 = (DS) = 8225H,偏移地址 = (DI)=3942H
物理地址 = 8225H * 10H + 3942H = 86192H
汇编语言判断错误,并说明原因。1.SLHG CS,AX 2.MOV [BX] [1000] 3.MOV AL BX 4.
汇编语言
判断错误,并说明原因。
1.SLHG CS,AX 2.MOV [BX] [1000] 3.MOV AL BX 4.MOV AX;[BX][BP]
5.IN BX OX
答案详细一些 谢谢
xigua9691年前1
LoneAndy1985 共回答了22个问题 | 采纳率81.8%
1.SLHG CS,AX
不知道是啥指令
2.MOV [BX] [1000]
错误
存储器单元之间不能直接传送数据
3.MOV AL BX
错误
宽度不同
4.MOV AX;[BX][BP]
错误
BX,BP不能同时用于寄存器基址偏址
5.IN BX OX
IN指令的谜底操作数只能是AX或AL
汇编语言:从键盘输入一个正整数(0-32767),然后输出其所有的约数
汇编语言:从键盘输入一个正整数(0-32767),然后输出其所有的约数
如题
要求:
有注释,用masm5能运行! 时间:越快越好,在线等
程序解释详细 追加50
asdfgqwewwqiu1年前1
青争平 共回答了15个问题 | 采纳率86.7%
; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
CR equ 000DH
LF equ 000AH
KBBack equ 0008H
; -----------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -----------------------------------------
; 功能:显示一个字符
; 入口:dl=要显示的字符
Output_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
Output_Chr endp
; -----------------------------------------
; 功能:输出回车换行
Output_CTLF proc Near
push ax
push dx
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
Output_CTLF endp
; -----------------------------------------
; 功能:取光标位置
; 入口:无
; 出口:DH=行号,DL=列号
GetCursor Proc Near
PUSH AX
PUSH BX
PUSH CX
XOR BX,BX
MOV AH,3
INT 10H
MOV Cursor_Row,DH
MOV Cursor_Col,DL
POP CX
POP BX
POP AX
RET
Cursor_Row DB ?
Cursor_Col DB ?
GetCursor EndP
; -----------------------------------------
; 功能:置光标位置
; 入口:Cursor_Row=行坐标; Cursor_Col: 列坐标)
SetCursor Proc Near
PUSH CX
PUSH BX
PUSH AX
MOV DH,Cursor_Row
MOV DL,Cursor_Col
XOR BX,BX
MOV AH,2
INT 10H
POP AX
POP BX
POP CX
RET
SetCursor EndP
; -----------------------------------------
; 功能:键盘输入一个指定位数的十进制数字,将其转换成二进制数并保存在指定的内存单元.
; 入口:@@Digits=数字位数;di=保存输入的数字首地址
; @@Type_Data=保存的数据类型,B=字节类型,W=字类型.
; 出口:转换后的二进制数保存在di所指的单元
Input_Digit Proc Near
push dx
push cx
push bx
push di
lea di,@@Save_Tmp
push di
cld
mov cl,@@Digits
xor ch,ch
push cx
@@Input: call GetCursor ;取光标位置
mov ah,1 ;从键盘接受一个字符
int 21h
cmp al,CR ;若键入的是回车,已经键入的数字不足N位
jz @@ASC_Dec ;转去处理已经键入的数字
cmp al,KBBack
jz @@KB_Back ;若是回空键,重新输入
cmp al,'0'
jb @@KBBack ;若低于数字'0',重新输入
cmp al,'9'
ja @@KBBack ;若低于数字'9',重新输入
jmp @@Save_Dig
@@KB_Back: dec Cursor_Col
inc cx
dec di
@@KBBack: call SetCursor ;置光标位置
jmp @@Input
@@Save_Dig: and al,0fh ;转换成二进制数
stosb ;保存
loop @@Input ;接受下一个数字
@@ASC_Dec: mov ax,cx
pop cx
pop si
sub cx,ax ;实际输入的数字位数
xor bp,bp
xor dx,dx
xor ax,ax
jcxz @@Save_Ret ;若直接回车,没有输入任何数字,按输入'0'处理
dec cx ;实际输入的数字位数减1,准备把输入的这一串数字转换成二进制数
jcxz @@One_Digit ;若输入的数字只有一位,转去直接保存这个二进制数
mov bx,10
@@Mul_Ten: lodsb
cbw
add ax,bp
mul bx
mov bp,ax
loop @@Mul_Ten
@@One_Digit:lodsb
cbw
add ax,bp
@@Save_Ret: pop di
cmp @@Type_Data,'B' ;字节类型?
jz $+5
stosw
jmp $+3
stosb
pop bx
pop cx
pop dx
ret
@@Digits db ? ;十进制数字位数
@@Type_Data db 'B' ;保存的数据类型.B=字节类型,W=字类型
@@Save_Tmp db 16 dup(?)
Input_Digit EndP
; -----------------------------------------
; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
; 入口:AX=二进制数
; 出口:在当前光标位置显示转换后的ASCII码数字
Dec_ASCII Proc Near
push dx
push bx
push di
mov bx,10
lea di,@@Temp_Save[6]
mov byte ptr [di],'$'
dec di
cld
@@Divide: xor dx,dx
div bx
or dl,30h
mov [di],dl
dec di
test ax,0ffffh
jnz @@Divide
inc di
push di
pop dx
mov ah,9
int 21h
pop di
pop bx
pop dx
ret
@@Temp_Save db 7 dup(?)
Dec_ASCII EndP
; -----------------------------------------
Number dw ?
prompt_Str db 'Please input a decimal number(0-32767): $'
Start: push cs
pop ds
push cs
pop es ;使数据段、附加段与代码段同段
mov @@Digits,5 ;十进制数字位数
mov @@Type_Data,'W' ;保存的数据类型.B=字节类型,W=字类型
Input_Deci: Output prompt_Str ;提示输入一个十进制数
lea di,Number ;变量Number的地址
call Input_Digit ;键盘输入一个指定位数的十进制数字,将其转换成二进制数并保存在指定的内存单元
test Number,0ffffh
jz Exit_Proc ;若直接回车或输入的数是0,则结束程序
cmp Number,32767
ja Input_Deci ;大于32767,重新输入
call Output_CTLF ;输出一个回车、换行
call Output_CTLF ;输出一个回车、换行
mov dl,'1'
call Output_Chr ;显示一个字符
mov dl,','
call Output_Chr ;显示一个字符
mov ax,Number
mov bx,2 ;约数初值
mov cx,ax
sub cx,bx ;循环次数
@@L0: push ax
xor dx,dx
div bx
test dx,0ffffh
jnz @@L1 ;余数不等于0,不是约数,判断下一个数
mov ax,bx
call Dec_ASCII ;把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
mov dl,','
call Output_Chr ;显示一个字符
@@L1: pop ax
inc bx
loop @@L0
call Dec_ASCII
call Output_CTLF ;输出一个回车、换行
call Output_CTLF ;输出一个回车、换行
jmp Input_Deci
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束
F=W-(X+6)-(R-9)用汇编语言写出,其中XWXR均为16位无符号数运算结果不超16位.
江南梅萼1年前1
攸婧 共回答了18个问题 | 采纳率94.4%
DSEG SEGMENT
R DW
X DW
W DW
F DW
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START:
MOV AX,DSEG
MOV DS,AX
;
MOV AX,R
XOR DX,DX
SUB AX,9
SBB DX,0 ;DX:AX=(R-9)
;
MOV BX,X
XOR CX,CX
ADD BX,6
ADC CX,0 ;CX:BX=(X+6)
;
ADD BX,AX
ADC CX,DX ;CX:BX=(X+6)+(R-9)
;
MOV AX,W
XOR DX,DX
SUB AX,BX
SBB DX CX ;DX:AX=W-[(X+6)+(R-9)]
;
MOV F,AX ;结果不超出16位,所以只需保存低16位,结果可能是负数
; ;无符号数运算结果可以是是负数,结果是有符号数
MOV AX,4C00H
INT 21H
CSEG EDNS
END START
汇编语言中,带符号数FFH与01H相加,
汇编语言中,带符号数FFH与01H相加,
解析为什么?
六眼杂鱼1年前1
wanderbo 共回答了15个问题 | 采纳率86.7%
,对带符号数来说,0FFH代表(-1),那么-1加上+1就为0,所以不会产生溢出,我们从OF溢出标志上也能看到,其值为0,但对无符号数来说,0FFH代表255,255加上1为256超过了范围,我们从CF进位标志上可以看到,CF=1,所以带符号数是否超过范围看OF标志,无符号数是否超过范围看CF标志
求汇编下列汇编语句的解释 mov ax 20 out 20
whocool1年前1
青青hao 共回答了14个问题 | 采纳率100%
语句应该是
MOV AX,20
OUT 20,AX
吧,意思是把20这个数,送到端口地址为20的外部设备中去.
这道 汇编题目 麻烦 度友们 指点指点 。
这道 汇编题目 麻烦 度友们 指点指点 。
19.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’

MOV AX,DA1+3
指令执行后AX中的内容是(   )
A.‘EF’ B.‘CD’
C.‘BC’ D.‘FC’
DA1中的数据在 内存中是 怎样的呢 ? 求解 , 在软件上调试 得出的结果 是 D
但是 不明白。。
如果我有一次机会1年前1
fyfy341 共回答了24个问题 | 采纳率91.7%
da1内存数据为:BADCFEHG
故da1+3指向C的地址 由于目的数AX是字,所以内存区取2个字节 所以为FC
8086程序汇编题目请用8086程序汇编,题目是:某班有7个同学的英语成绩低于80分,分数存在ARRAY数组中,编程完成
8086程序汇编题目
请用8086程序汇编,
题目是:
某班有7个同学的英语成绩低于80分,分数存在ARRAY数组中,编程完成一下工作:
(1)给每人加5分,结果存到NEW数组中。
(2)把总分存到SUM单元中
(3)把加过5分之后的七人成绩显示到屏幕上。
jayld1年前1
4638705 共回答了14个问题 | 采纳率100%
题目没写明白:
没说清array里是所有人的成绩还是只这几个人的;
没说清是所有人都加5分还是只是低于80的加;
没说清总分是所有人的还是只这几个人的、是加分后的还是加分前的;
只好按我的理解来写:
array里可能是全班人的成绩(比如20个人)
只是给不够80分人的加5分、并且只显示出这些人加分后的成绩
总分是所有人调整后的分数和
另外注意程序是把所有低于80分的都处理(而不是数7个完事)
程序如下:
students equ 20
.model small
.stack 2048
.data
array db 100,99,88,77,66,90,80,70,60,40,20,91,95,96,79,76,55,99,100,88
new db students dup (?)
sum dw 0
crlf db 13,10,36
txt db 'SUMMARY OF CLASS: $'
.code
main: mov ax,seg array
mov ds,ax
mov es,ax
mov si,offset array ;将使用lodsb从array中读入分数(由ds:si定位)
mov di,offset new ;并按要求将新分数存至new中(由es:di定位)
mov cx,students ;学生人数即循环次数
cld ;为lodsb/stosb指令清除方向标志
mov bx,1 ;为输出美观,用bx当学号吧
lp: mov dl,'(' ;这段输出学号,学号两边用括号扩起来
call putc
push bx ;学号
call print
mov dl,')'
call putc
mov dl,9 ;用制表符分开
call putc
lodsb ;从array数组读一个分数(字节型数据)
xor ah,ah ;ah清零,算总分时是要加上高8位的

cmp al,80 ;是否高于80分
jae above80 ;大于或等于80分的跳过
add al,5 ;低于80的加5分
mov dl,'*' ;先输出一个星号表示该成绩是调整后的成绩
call putc
above80: stosb ;所有人的最终成绩存回new数组
add sum,ax ;最终成绩加到总分里
push ax ;输出该生最终成绩
call print
mov dx,offset crlf ;回车换行
call puts
inc bx ;假装学号加1
loop lp ;循环
call puts ;再换行一下
mov dx,offset txt ;输出全班总分的标题
call puts
mov ax,sum
push ax
call print ;输出总分
mov dx,offset crlf ;回车换行
call puts
mov ah,4ch ;程序结束
int 21h

print proc near
mov bp,sp
push ax
push bx
push cx
push dx
mov ax,[bp+2]
call printax
pop dx
pop cx
pop bx
pop ax
ret 2
print endp
;以10进制输出ax中的无符号整数
printax proc
mov bx,10 ;bx是除数
or ax,ax ;是0则直接输出
jnz @f
mov dl,'0'
call putc
ret
@@: xor dx,dx
div bx
mov cx,ax
or cx,dx ;若商与余数都为0则结束递归
jz @f
push dx ;留存DX中的余数以在递归后输出
call @b ;递归
pop dx ;从最高位开始恢复余数
add dl,'0'
call putc
@@: ret
printax endp
putc proc
push ax
mov ah,2
int 21h
pop ax
ret
putc endp
puts proc
push ax
mov ah,9
int 21h
pop ax
ret
puts endp
end main
执行结果:
(1) 100
(2) 99
(3) 88
(4) *82
(5) *71
(6) 90
(7) 80
(8) *75
(9) *65
(10) *45
(11) *25
(12) 91
(13) 95
(14) 96
(15) *84
(16) *81
(17) *60
(18) 99
(19) 100
(20) 88
SUMMARY OF CLASS: 1614
一道关于汇编的题目,Review the ASCII Table to see the relationship bet
一道关于汇编的题目,
Review the ASCII Table to see the relationship between a value (0,1,2,3,4,5,6,7,8,9) and its corresponding ASCII Character.
What is the value that should complete the Assembly instruction to convert the value to a character?
addb #$ _____
note the "$" symbol that means the value should be in hex
狮子座宇宁1年前1
小李贰少 共回答了15个问题 | 采纳率93.3%
addb #$ _30_.
用汇编语言编写子程序,计算10以内所有奇数之和与所有偶数之和
哩哩啦啦1年前1
lxc06981 共回答了20个问题 | 采纳率85%
assume cs:code;将CS段寄存器与code段关联
code segment;code段
start:
mov bl,10 ;这里用AL来传送多少以内的数字
call sub1;调用子程序

mov ax,4c00h
int 21h
;
;bl送入计算范围,比如0~10,在主程序里面只要把bl设置成10
;用bh返回偶数之和,用bl返回奇数之和
sub1:
push ax
push cx
push dx

dec bl
mov bh,0
mov cx,bx ;设置循环次数
mov dl,2;除数
mov ax,2;第一个数字,为什么要使第一个数字等于2而不是0呢?因为0/2会溢出
mov bx,1;初始籦bx bh=0 bl=1,0000 0001=1
s1:
push ax;把ax暂存一下,分别在jishu和oushu里面还原,因为这里要进行除法,会改变AX
div dl;数以2看有没有余数
cmp ah,0
je oushu
jishu:
pop ax
add bl,al
jmp short sub_ok
oushu:
pop ax
add bh,al
sub_ok:
inc ax
loop s1

pop dx
pop cx
pop ax
ret
code ends
end start

;程序我已经调试过了,你可以改变程序开始处得bl,编译链接后用DEBUG命令里面的G参数
;g 0005 然后看寄存器bx的高8位为偶数之和 bx的低8位为奇数之和
;注意 我这个程序的缺点是 奇数之和不能超过8位,偶数之和也不能超过8位 也就是255,否则会产生进位导致结果不准确 但是你的问题是只要计算0~10的奇数和偶数和 所以足够用了!
我的QQ是544980123,希望能够加我一起学习!
从小学到现在,你一定写过不少作文.请你把自己的作文汇编成一个作文集,
从小学到现在,你一定写过不少作文.请你把自己的作文汇编成一个作文集,
给他取个优雅的书名,并说说为什么取这
livesylvia1年前1
wisdombee 共回答了29个问题 | 采纳率93.1%
我的欢乐作文园.因为作文给我带来了许多快乐,我把这些欢乐集成一个园子,永远记在我的脑海中所以我要取这个名字.
初中语文课堂导语汇编(涉及121篇课文) 一、序言?导语重要 导语即课堂教学的开场白,是教师在正式讲
prtythm1年前1
蛋蛋家的宝贝 共回答了15个问题 | 采纳率100%
与教学内容紧密相关的一个重要的教学步骤.导语设计得如何,往往关系到全局和教学效果的好坏.因此,精心设计课堂教学的导语,也是摆在
下列各项中,没有语病 下列各项中,没有语病的一项是 A.作家出版社最近出版了巴金先生回忆性文字的汇编《我的家》,该书以图
下列各项中,没有语病
下列各项中,没有语病的一项是
a.作家出版社最近出版了巴金先生回忆性文字的汇编《我的家》,该书以图文的形式首次全面展现了一代文学大师鲜为人知的家庭生活.
b.专家调查表明,越是经济发达和比较开放的民族,如白族、壮族、纳西族等,人口受教育程度很高,使用双语的人数也很高.
c.***粮食的生产,长期都能做到自给,对有着十几亿人口的***来说,是十分不易的,这与科学家袁隆平的巨大贡献是密不可分的.
d.某报记者一篇报道地方强制***、侵 害***利益的文章,惹恼了当地***,他们竟派***人员到报社拘传记者,其根本原因是滥用公权在作怪.
讵呓1年前1
悠悠小笨熊 共回答了18个问题 | 采纳率83.3%
A
汇编中 NUM2-NUM1和NUM2+NUM1 有什么区别
汇编中 NUM2-NUM1和NUM2+NUM1 有什么区别
下列数值表达式和地址表达式中,错误的是( D )。
A.MOV AL,8*14+4 B.MOV SI,OFFSET BUF+13
C.MOV CX,NUM2-NUM1 D.MOV CX,NUM2+NUM1
C 和 D的区别在哪里?
自由自在一个人1年前1
yuanqh82 共回答了23个问题 | 采纳率95.7%
D.MOV CX,NUM2+NUM1 ,并非是错误语句。
C、D,在是否错误的问题上,并没有区别。
这四句,都不是错误。
楼主给出的问题和答案,才是错误的。