汇编语言改错题

作者&投稿:戊雪 (若有异议请与网页底部的电邮联系)
一个汇编语言改错题~

只要把寄存器改成一样位数的就好啦~

改好了,试试看:

DATA SEGMENT
BUFF Dw 4FB6H
ASCC DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
mov DS, AX

lea DI, ASCC

MOV AX, BUFF
MOV BX, 0AH
MOV CX, 5
AGAIN:
XOR DX, DX
DIV BX
ADD DL, 30H
MOV [DI], DL
AND AX, AX
JZ STO
inc di
LOOP AGAIN

STO:
MOV AX, 4CH
INT 21H
CODE ENDS
END START

程序可以正常运行。观看结果必须用DEBUG。

1.PUSH AH ;不支持AH,此处应为16位寄存器/存储器/段寄存器
3.8086的堆栈操作以字为单位,数据入栈后,SP自动减1,数据出栈后,SP自动加1.
应为:8086的堆栈操作以字为单位,数据入栈后,SP自动减2,数据出栈后,SP自动加2.
参考:
PUSH指令格式
PUSH r16/m16/seg ;SP←SP-2,SS:[SP]←r16/m16/seg

2.MOV 2[BX][BP],BX ;相对基址变址寻址方式中寄存器部分不能全由基址寄存器组成,应由基址寄存器(BX/BP)和变址寄存器(SI/DI)中各取一个与数字表示的偏移构成
有关资料http://www.chinaitpower.com/2005September/2005-09-13/206225.html

4.Inter 8086 和Inter8088都属于16位处理器,他们的数据总线宽度都是16位
Inter 8086 和Inter8088都属于16位处理器,他们的数据总线宽度都是20位
参考资料:http://baike.baidu.com/view/424014.htm
5.串行通信种,波特率就等于传输速率.
波特率用单位时间内载波调制状态改变次数来表示,其单位为波特(Baud)。而在数字信道中,比特率是数字信号的传输速率,它用单位时间内传输的二进制代码的有效位(bit)数来表示,其基本单位为每秒比特数bit/s(bps),两者不是一个概念
参考资料http://baike.baidu.com/view/119333.htm


C语言程序改错题(分析程序功能,指出题中的错点,对错误进行分析并改正...
三个空);第二:改错题(一般有两个或三个错);第三:编程题(一般是给出主程序,让你自己编子程序)。 上机操作题一般都比较简单,你买一本上机题库100道,基本上做完就肯定没问题,绝对可以过。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 秋枫5410 2011-07-05 · TA获得超过793个赞 知道小有建...

改错题的具体解题方法
现在我们来讨论改错题的具体解题方法。如前所述,改错题可以大致分为六个类型,所以我们的讨论也针对这六个题型来进行。A.时态错误的发现与解决 我们来看2001年第79题:Immediately before him was a…he put it into his collar,so that it falls across his shirt.此处的上下文明显地表现出过去...

C语言程序改错题,为什么if(a小于b),max=a,要把a的值赋给max?
max=a;a=b;b=max;这是一个交换两变量的过程,作用是交换两个变量的值 首先把a的值赋给max 然后把b的值赋给a 最后把max赋给b,由于max的值是原来a的值,所以b相当于得到了a的值 交换过程结束 所以:if (a < b) { ... }表示,如果a小于b,则交换a与b if (a < c) { ... }表...

c语言程序改错题
等考二级c改错题?填空和改错评分是按照文本来评分,也就是说,改正或填对一处,就拿一部分分。改错18分,每处6分,你的情况是拿12分。但是要注意,改错和填空千万不要在让你改动的以外的地方做出任何改动,那怕只是多了一个空格。也不要再让你改正的地方添加额外的回车。否则后果自负 编程题就不...

C语言编程改错题
int b[]是一个数组整个传递给函数作为参数,而int *b是一个指针作为参数,这个指针指向数组的首地址,这两种方式都正确,不过用得较多的是传递指针,而不是传递整个数组,因为传递指针占用的内存小。

高三语文改错题技巧
语文高考改错是着重考察语言运用的能力的命题。从近几年的命题看,几乎都是修改常见应用文的各种毛病的题目。那么接下来给大家分享一些关于 高三语文 改错题技巧 ,希望对大家有所帮助。 高三语文改错题技巧 一、压缩法 一些结构复杂的长句,采用压缩法,删去枝节,留下主干,就会很快发现其中的问题。例如:他做事认真,...

C语言改错题
第一题#include <stdio.h> void main( ){ int s=0,i,n;scanf("%d",&n);for(i=1;i<n;i++)\/\/应该改成for(i=1;i<n+1;i++){ s+=i; };printf("s=%d",s);} 第二题#include <stdio.h> void main( ){ int s,i,n;\/\/s没有初始化 s=0;scanf("%d",&n);for(i...

一道C语言改错题
既然只有10个评委为什么for循环循环100次改为for(i=1;i<=10;i++)另外你的数据最好定义为浮点型,要不然容易出现不理想的情况。。

C语言的改错题。
(1)中的d="apple"这句不对,只有在声明数组的时候能这样赋值,声明之后就不能这样赋值了 (2)重新使q指向了一个常量之后,q指向的常量内容是不能修改的,所以不能对q="pear"之后立马使用scanf ("%s", q);(3)对字符串直接赋值给指针用q="oringe", 另外*q是取q指向地址中的值,这里是...

求这道c语言程序改错题的答案
for(i=0;i<n;i++){ scanf("%d",(p+i)); } for(i=0;i<n;i++,p++){ if(*p % 2==0) even++; else odd++; }因为p是指针,*p表示他指向的对象,取地址应该是对于p而言的,而取值应该是对于*p而言的

理县17114947799: 汇编语言程序改错题 -
和奇通窍: 改好了,试试看:DATA SEGMENT BUFF Dw 4FB6H ASCC DB 5 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA mov DS, AX lea DI, ASCC MOV AX, BUFF MOV BX, 0AH MOV CX, 5 AGAIN...

理县17114947799: 汇编语言(改错,判断,并说明理由) -
和奇通窍: 1.MUL[BX],AX错误.乘法指令的被乘数都是隐含操作数,乘数在指令中显式地写出来.CPU会根据乘数是8位、16位,还是32位操作数,来自动选用被乘数:AL、AX或EAX.指令功能是把显式操作数和隐含操作数相乘,并把乘积存入相应的寄存器中.指令格式:MUL Reg/Mem受影响的标志位:CF和OF(AF、PF、SF和ZF无定义)本题指令的正确写法:MUL word ptr [BX],被乘数为AX.2.MOV AL,0FFH ;正确3.MOV CS,AX ;错误.不允许代码段寄存器作目的操作数4.SHL AX,CX ;错误.逻辑移位指令的源操作数只能是1或者是CL5.PUSH [SI ;正确

理县17114947799: 汇编语言找错 -
和奇通窍: 1.ADD VAR1 VAR2;两内存单元不能直接进行操作2.SUB AL,VAR1;正确3.JMP LAB[SI];LAB是标号,不支持寄存器相对寻址4.JNZ VAR1;VAR1是变量,不能作为转移的目标地址5.JMP NEAB LAB;NEAB应该是写成NEAR PRT,即指令改为JMP NEAR PRT LAB

理县17114947799: 简单的汇编语言 改错题 关于循环 -
和奇通窍: data ends mov cx,11

理县17114947799: 汇编语言 在线等候 -
和奇通窍: 改错题1、 INC [AX] (X) 寄存器间接寻址不能用AX2、 MOV AL,0FFH (√ )3、 MOV AX, CL ( X)类型不一致4、 SHL AX,CX ( X )左右移用cl5、 MOV AL,[BX+SI] ( √ ) 程序分析题1、阅读程序段:该程序完成的功能是 求最小值 该程序循环的次数是 1F20H次 2、对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用 movsb 指令完成同样的功能 3、下列指令执行后,(A单元)= 98F0 . ....太多了

理县17114947799: 汇编语言代码改错求助 -
和奇通窍: data SEGMENT var0 DB 10101010B,'TsingHua' var1 DW 'efgh';错,用DW定义字符串,只允许2个字符,现在是4个字符,var2 DB -374,-1;错,-374超过一个字节,不能用DB定义 var3 DW -1,9080H var4 DD ffeeddccH;错,一般一个...

理县17114947799: 汇编语言改错题MOV [BX][SI],2 -
和奇通窍: 不是这个错误,应该在[BX][SI]前面加上类型ptr,不然不知道2是字节存进去还是字存进去

理县17114947799: 汇编语言改错题 -
和奇通窍: 1.PUSH AH ;不支持AH,此处应为16位寄存器/存储器/段寄存器 3.8086的堆栈操作以字为单位,数据入栈后,SP自动减1,数据出栈后,SP自动加1. 应为:8086的堆栈操作以字为单位,数据入栈后,SP自动减2,数据出栈后,SP自动加2. 参...

理县17114947799: 汇编语言指出错在哪并改正 -
和奇通窍: MOV AH,BX 两个操作数类型不一致,一个8位一个16位.可以将ah改为ax. MOV [SI],[BX] 两个操作数不能同时为存储器操作数.可以将 [si]改为si MOV AX,[SI][DI] 源操作数错误,没有这种寻址方式(不能同时为变址),可以改成基址变址寻址...

理县17114947799: 汇编题的改错 求高手解答啊~~~~~ -
和奇通窍: 1,立即数3A不能作为目标操作数2, 目标操作数和源操作数类型不相同,应改为MOV AL,BL或MOV AX,BX等3 立即数20H不能作为源操作数4 代码段寄存器一般不作为目标操作数5 不能用立即数直接给段寄存器赋值6 立即数超出了寄存器的表示范围7 IN指令的目标操作数只能是AL,或AX8 OUT指令采用寄存器寻址不加[]9 PUSH的操作数必须是字操作数10 不允许源操作数和寄存器操作数同为存储器操作数

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网