几个汇编语言问题.高手帮忙解答下..

作者&投稿:地豪 (若有异议请与网页底部的电邮联系)
两道汇编语言的选择题,请高手帮忙解答一下。~

第一题B,应写为25+ax,在装入有效地址时使用,如 :lea bx,addr[ax]
第二题ABD,mul 不是伪指令,应写为10h*5。

一:
1:VAR1不能做目标寄存器
2:AL和VAR1的字长不相等
3:SI要改成DI
4:不能跳转到变量的位置
5:NEAR后面加上PTR,具体用法是:JMP NEAR PTR OPR
OPR是指16位位移量
二:11,表示当前地址计数器的值减PARTNO 的值
我自己做的,很久没有做汇编的题目了,不一定正确啊

1.MOV [SI],'A'; 有错,应该指定内存的属性为字节,改为MOV BYTE PTR [SI],'A'
2.MOV AL,BX;有错,类型不匹配,AL为8位,BX为16位
3.MOV BL,SI+2;有错,应该改为MOV BL,[SI+2]
4.INC [BX];正确
5.MOV 256,AL;有错,立即数256不能作为目的操作数
6.MOV AX,BYTE PTR ALFA;有错,类型不匹配,AX为字,BYTE PTR ALFA指定字节
7.MOV ALFA,BATA;有错,两内存单元不能直接操作
8.MUL -25 ;有错,MUL指令的操作数不能为立即数
9.PUSH 20A0H ;有错,PUSH指令的操作数不能为立即数
10.POP CS ;有错,CS不能作为目的操作数
11.XCHG [SI],3 ;有错,XCHG指令中的操作数不能为立即数
12.MOV IP,AX ;有错,IP不能通过MOV指令改变
13.SUB [SI],[DI] ;有错,两内存单元不能直接操作
14.PUSH DH ;有错,PUSH指令以字为单位进行操作,不能为字节DH
15.AND AX,DS ;有错,DS不能作为AND指令的操作数
16.DIV 256 ;有错,DIV指令的操作数不能为立即数
17.MOV ES,1234H ;有错,立即数不能直接送段寄存器
18.MOV CS,AX ;有错,CS不能作为目的操作数
19.SUB DL,CF;有错,CF不能出现在指令的操作数中
20.MOV AL,300 ;有错,300超出字节表示范围
21.JDXZ NEXT ;有错,无JDXZ指令

假设数据定义如下:
S1 DB 'GOOD MORNING'
S2 DB 30 DUP('')
用串指令编写程序段分别完成以下功能:
1.从左到右把S1中的字符串传送到S2.
LEA SI,S1
LEA DI,S2
MOV CX,S2-S1
CLD
REP MOVSB
2.从右到左把S1中的字符串传送到S2.
MOV CX,S2-S1
LEA SI,S1+11
LEA DI,S2+11
STD
REP MOVSB
3.把S1中的第3和第4个字节装入AX.
MOV AL,S1+2
MOV AH,S1+3
4.把AX寄存器的内容存入从S2+5开始的字节中.
LEA DI,S2+5
MOV CX,12
CLD
REP STOSW
5.检查S1字符串中有无空格字符,如有则把它传送给BH寄存器中
LEA SI,S1
MOV CX,S2-S1
MOV AL,20H
CLD
REPNZ SCASB
JNZ TJ
MOV BH,20H
TJ:RET

你要是在学汇编,就自己做吧,都是基础题,明显你自己都没思考过就直接把题发上来了,我们就算告诉你答案,你也不会思考,也没有收益


几个汇编语言问题.高手帮忙解答下..
1.MOV [SI],'A';有错,应该指定内存的属性为字节,改为MOV BYTE PTR [SI],'A'2.MOV AL,BX;有错,类型不匹配,AL为8位,BX为16位 3.MOV BL,SI+2;有错,应该改为MOV BL,[SI+2]4.INC [BX];正确 5.MOV 256,AL;有错,立即数256不能作为目的操作数 6.MOV AX,BYTE PTR ALFA;...

高分!!汇编语言的若干问题
1、汇编语言是编译型还是解释型?(或许汇编语言不能这么表述)编译型 2、汇编语言是否像高级语言一样,即便是相同的硬件也有很多种汇编语言?一般只有一种 3、汇编语言编写的程序在不同硬件上未必通用,这是因为硬件(如cpu)机器码与功能不同,那么是否像java一样,用一种汇编语言写一次汇编源码,在...

汇编语言问题(超简单)!!
AX是16位寄存器。同时也可以分成两个8位寄存器,ah就是它的高8位,al是它的低8位。要判断高低位 首先确定它的位数,比如在一个十六进制的编辑器中:4D 5A ;两个十六进制数为一个字节,合一个字(16位)它的高8位就是5A,低8位就是4D。这个数是5A4D 4D 5A 50 00 ;这里有两个字(...

几个汇编语言的问题
1.MOV CL,20H[BX][SI];结果(CL)=(DS:[BX+SI+20H])=(091DH:0056H)=(09226H)=0F6H 2.MOV [BP][DI],CX];结果是将CX的值5678H存入内存(SS:[BP+DI])=(1E4AH:0056H)=(1E4F6H)中,即结果是(1E4F6H)=5678H 3.LEA BX,20H[BX][SI]);结果是将内存偏移地址[BX+SI+20H]=...

高手请进,问汇编语言程序设计问题
分类: 电脑\/网络 >> 程序设计 >> 其他编程语言 问题描述:31. MOV DL,AL NOT DL TEST DL,04H JE NEXT ┇ NEXT:…若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?32.DA1 DB‘ABCDEFGHI’DA2 DB 9 DUP(0)┇ LEA SI,DA1 LEA DI,DA2 MOV CX,...

汇编语言问题mul指令
MUL指令是指80C51单片机系统的乘法指令,只有一条指令。乘法指令的功能是将A和B中两个无符号8位二进制数相乘,所得的16位积的低8位存于A中,高8位存于B中。如果乘积大于255,即高位B不为0,则OV置1;否则OV清0,CY总是清0。MUL指令有三种格式:第一种是将8位的操作数于al相乘。第二种是将...

几个简单的汇编语言问题
MOV [SP],AX ;错,SP不能加方括号 OUT 10H,CL ;错,OUT指令中源操作数只能是AX或AL CMP 36H,AL ;错,CMP指令中目的操作数不能为立即数 2.标号作符号地址使用,出现在操作数域时,语句JMP BEGIN 中符号BEGIN表示的是目标地址;而在语句LOOP BEGIN中却是同时表示目标地址和偏移地...

汇编语言相关问题
编程语言汇编语言3、在8086\/8088CPU寄存器组中,数据寄存器主要是指( AX )、( BX )、( CX )、( DX )。4、假设(DS)=3000H,(SI)=0040H,(30054H)=4336H,则指令 SUB [SI+14H],0136H 执行后,(30054H)=( 4200H )。5、结构化程序设计时,采用的基本结构有(顺序)、(...

几个关于汇编语言的问题 急用 谢谢
INT 21H 3.简介JMP\/JC,CMP\/PEST用法。计算机汇编语言中的一种跳转指令.当需要分支程序时,散转程序有时可以帮我们实现。使用指令JMP @A+DPTR,可实现多分支转移。它是根据某种输入或运算的结果,分别转向各个处理程序段取执行程序。JMP 就是跳转到当前的地址, 所以它是一个死循环,不继续执行下面的...

超高分请教一道汇编语言编程问题
超高分请教一道汇编语言编程问题 内容是编写由键盘输入10个4位的数据并将这些数由大到小或由小到大进行排序其结果输出在显示屏上的程序.程序已经写好:DATASEGMENTLENEQU10ARRAYDW10DUP(?)MESSDB0DH,0AH,'PLEASEINPUT... 内容是编写由键盘输入10个4位的数据并将这些数由大到小或由小到大进行排序其结果输出在...

思茅市18766191771: 几个汇编语言问题.高手帮忙解答下.. -
钦果力能: ⒈ ⑴立即数寻址2000送给al2000h直接包含在代码段中 ⑵直接寻址 ea(物理地址)=30000h(段值)+2000h(偏移地址)=32000h 该指令ea为32000h的存储单元中的内容送给ax;⑶寄存器寻址 将bx中的内容送给ax 执行后 (ax)=0038h;⑷寄存...

思茅市18766191771: 几个关于汇编语言的问题 急用 谢谢 -
钦果力能: 1.loop循环功能应配合哪个缓存器 CX寄存器 LOOP指令,是循环指令,循环次数由计数寄存器CX指定.是否执行循环体的判断指令在循环体之后,所以,至少执行1次循环体,即至少循环1次.执行LOOP指令时,CPU自动将CX的值减1,若...

思茅市18766191771: 跪地打滚求汇编语言高手!回答以下问题,说出对与错.并说明错误的地方.1)MOV BX,[BX][SI]2)ADC VARI,[BP][DI]3)SBB [BX][BP],AX4)PUSH 5678H5)SHL ... -
钦果力能:[答案] 1、7、12、14正确,其余全错 严格说,7题也不对,求补只有一个OPD,但编译能通过.

思茅市18766191771: 单片机汇编语言的几个疑问 -
钦果力能: 1、如果程序代码空间不紧张的话,建议你全部使用LJMP,或者如果跳转的目标段程序相隔很近,也可以使用SJMP.个人认为AJMP最麻烦:其机器码所标注的地址位从A10到A0,计11位,000H~7FFH,也就是说跳转到的地址与当前地址的A...

思茅市18766191771: 几个汇编语言问题.高手帮忙解答下..
钦果力能: 1.MOV [SI],'A'; 有错,应该指定内存的属性为字节,改为MOV BYTE PTR [SI],'A' 2.MOV AL,BX;有错,类型不匹配,AL为8位,BX为16位 3.MOV BL,SI+2;有错,应该改为MOV BL,[SI+2] 4.INC [BX];正确 5.MOV 256,AL;有错,立即数256不...

思茅市18766191771: 高分悬赏 汇编语言题请高手来解答. -
钦果力能: 看了下,程序编写正确,没有问题.至于你说到的编译时错误,我想与星研集成环境软件有关. 补充回答:1、org 100h 调整偏移量伪指令ORG:告诉汇编程序,本伪指令下面的内存变量从该“数值表达式”所指定的地址开始分配.如非特别需要,没有必要,可有可无.2、loop Q0 循环指令:跳转到标号Q0处,继续执行循环体.3、mov ah,4ch dos功能调用4ch号功能:结束程序4、int 21h dos功能调用 这些是汇编语言的常识,必须掌握.

思茅市18766191771: 关于汇编的几个问题 -
钦果力能: 1:操作系统很庞大,操作系统的引导bootsect这个必须要由汇编来写,不过由于操作系统过于庞大,所以内核就由C(linux系统没有采用一条C++语句,即使是现在的linux内核也没有一条C++语法)来写了,具体的你可以看下Linux源代码,用到...

思茅市18766191771: 汇编语言的几道题目,请各位高手帮忙看看,谢谢!!很急 -
钦果力能: 41.20H 42.段寄存器 43.15 44.(DS)*10H+(SI)+20H45.AX46.4512H,7845H47.位,TEST48.PROC,ENDM49.X1 DB 37H;X2 DW 37H50.寄存器,存储器51.IP;CS和IP52.地址总线和控制总线53.IP,CS54.XOR AX,AX或AND AX,055.指令,伪指令及宏指令56.1D1H57.SP58.IP59.物理地址60.机器语言61.汇编语言62.堆栈63.伪指令64.指令65.CPU

思茅市18766191771: 汇编的几个问题 -
钦果力能: 1) 偏移地址就是大括号里面的数相加,也就是2000H+1234H+2 段地址默认在DS中2) 两个状态,8个控制位 '这题可能错误,欢迎指正 3) 只有D才有可能 4) D这些都是基础知识,想学必须从0开始,有些东西纯粹...

思茅市18766191771: 汇编语言的几道题目,请各位高手帮忙看看,谢谢!!...
钦果力能: 以下解答仅供参考 ------------------------- 1.PA=12FA0+015F=130FFH, 选C ---------------------------- 2.考虑到寻址时IP的作用,选C. 变址寄存器 ---------------------------- 3.下面有语法错误的指令是: 不许两个操作数同时是存储器类型 D. ADD [BP+2],DA1 ...

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