几个汇编语言问题.高手帮忙解答下.. 请高手帮忙解决几道汇编语言题。万分感谢!

作者&投稿:溥融 (若有异议请与网页底部的电邮联系)
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

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

两道汇编语言的选择题,请高手帮忙解答一下。~

第一题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 的值
我自己做的,很久没有做汇编的题目了,不一定正确啊

请教汇编语言高手——CX寄存器基础问题
答:不能作为寄存器间接寻址 只有bx、bp、sp、si,可以作为间址寄存器。段寄存器: CS(Code Segment,代码段) 指定当前执行的代码段. EIP (Instruction pointer, 指令指针)则指向该段中一个具体的指令. CS:EIP指向哪个指令, CPU 就执行它. 一般只能用jmp, ret, jnz, call 等指令来改变程序流程,而不能...

急需汇编语言高手帮忙
答:说明:DA1中依次存放'B'、'A'、'D'、'C'、'F'、'E'、'H'、'G'(因为字在内存中占连续两个地址空间,其中低字节占低地址,高字节占高地址,比如 DW 'AB',其中'A'为高字节,'B'为低字节),所以DA1+3指向'C',取出一个字为从其指向单元向下的连续两个单元中的内容'FC'(内存低地址...

300分悬赏!求高手帮我解决汇编语言的问题
答:③数模(D/A)转换电路实现一个反向锯齿波的输出,接在喇叭上,是喇叭发出声音,从而实现救护车的功能。连线处理:①8255连接端口IOY0,A口输出发光二极管;B口输出接数码管;C0~C3输入,C0接8254的OUT端,C1~C3接紧急键;C4~C7输出,对数码管进行位控。IOY0口的端口地址是1400H-1403H ②8254的CLK...

汇编语言习题,,,高手帮忙
答:7.DA1 DB‘ABCDEFGHI’DA2 DB 9 DUP(0)┇ LEA SI,DA1 LEA DI,DA2 MOV CX,9 CLD LOP: LODSB SUB AL,10H STOSB LOOP LOP . . .写出程序执行后DA2各字节中的数据。答:'123456789'8.已知数据段中定义 DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,WORD PTR DAT1 MOV ...

请教个汇编语言问题,各位高手帮帮忙解答下,万分感谢。
答:是没有用到。估计是考虑=没有堆栈编译时会被WARNING,还有可能是这个程序原来是其他程序的子程序,挪过来的时候没有进行移除。你可以去掉。

单片机初学者,单片机汇编语言不懂,谁能帮我看下,谢谢 ORG 0000H MOV...
答:ORG 0000H ---程序起始地址MOV P1,#0FFH ;---在P1的8个引脚,输出8个1 追问 请问你现在有空吗?我刚才是弄整个程序的,结果字数原因复制不上去,能帮我解答下吗?是一个例子,整个程序的作用我懂,但我就是不能把它用到单片机上去分析 追答 分析整个程序?一行行的写注释?呵呵,恐怕,没有足够的空闲时间。

关于汇编语言输入部分的一个小问题
答:如果输入超出范围,例如,16进制数只能保存-32768~32767之间的十进制有符号数,如果超过这个范围,也要进行相应处理。下面有一段代码。运行没有错误,你可以DEBUG,参考一下:;;输入-32767~32767之间的一个十进制有符号数,输出对应的十六进制数 ;DATA SEGMENT NUM DB '0123456789ABCDEF' ;输出字符 INF...

请汇编语言高手帮帮忙,高分悬赏!
答:由于没有相应的硬件系统可以调试,所以仅仅根据以前的作业给你两段关键程序,供参考吧。传输端(发送机)把字符串从COM1端口传输出去。在传输过程中,传输速率为9600波特,字长为8位,1位停止位,无齐偶校验。.MODEL SMALL .DATA MSG DB "Hello, World";此处我借用hello,world字符,实际时你加一个...

两道汇编语言的选择题,请高手帮忙解答一下。
答:确定下列哪些数据在汇编语言中是非法的;A. 19BH B. 25+AL C. 108-102 D. 101B*0ABH B. 25+AL是非法的.下列数据中在汇编语言中的表示是合法的是:A. 13H SAL 1 B. NOT 23+6AH C. 10H MUL 5 D. AX+10 B. NOT 23+6AH 是合法的....

超高分请教一道汇编语言编程问题
答:ADD DI,2;指向NUMBER的下一个字单元 POP CX;恢复原来的CX的值 LOOP INPUT;循环输入 ;接下来就是排序了 ;这里我们用冒泡排序,升序 ;冒泡排序的思想是:从第一个元素开始,依次对N个元素中相邻的两个元素进行比较 ;若顺序不满足则交换,经过一轮后,最大的元素就排到了最右边.后面依次类推 MOV ...