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

如题所述

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
温馨提示:内容为网友见解,仅供参考
无其他回答

几个汇编语言问题.高手帮忙解答下..
DUP('')用串指令编写程序段分别完成以下功能:1.从左到右把S1中的字符串传送到S2.LEA SI,S1 LEA DI,S2 MOV

汇编语言的问题,求助 MOV AX,8080H SAR AX,1 MOV CL,4 SHR AL,CL 最 ...
MOV CL,4 CL=4,是后面一个指令的移位数 SHR AL,CL 对AL右移CL(=4)位,得到 AL=0000 0100b,就是 AL=04H 最终算得AL的值是04H

汇编语言立方问题
1、8、27、……、729、0 你在程序中只需要跟输入的数比较(从0~9)相等就输出对应的立方值就OK了!

汇编语言 高手帮忙 内存地址20000 则 8086 中 段地址的最小值
1 首先内存地址20000H 则可以推测该段地址的最高地址的最小值为2000FH 段寄存器的最后一位=0(以十六进制表示)而该段最高地址=段寄存器*10H +FFFFH=XXXXFH 2 可以解出该段地址的最小值=该段地址的最高地址-FFFFH=2000FH-FFFFH=10001H 本题的关键是先要推出该段地址的最高地址的最小...

高分悬赏!关于汇编语言的一些问题!
第5题有点迷糊...感谢锟鹏展翅为我找出错误,谢谢!现在可能没问题了呵呵...有什么问题的话还请指出 1 assume cs:code, ds:datas datas segment var db 100, 77, 69, 201, 32, 148 answer db 0 datas ends code segment start:mov bx, datas mov ds, bx mov cx, 6 mov bx, offset...

汇编语言中的除法溢出,请高手帮忙解决
但是,最好,是你自己编写一个“不会溢出的”程序。编程思路如下:看懂了,就会发现,这程序其实也非常简单。你自己动手编写,一定会成功的。在图中,被除数是四个字节:1A 2B 3C 4D。除以 BL 后,得到的商,也是四个字节。按照图中的步骤,需要执行四次 DIV BL。只要 BL 不为零,就绝对不会...

汇编程序问题
分类: 电脑\/网络 >> 程序设计 >> 其他编程语言 问题描述:我新学汇编,写了一段程序,代码如下,可是怎么都编译通不过,我用的是ma *** 5.0,我不知道里面的结构之类的定义是否有错,请高手帮忙看一下,谢谢 statistics struct nam db 20,0,20 dup(?)class db 6,0,6 dup(?)number db 7,...

汇编高手来帮帮忙 谢谢了在线等答案,
五、程序设计题(2道小题,共20分)1、以下5个小题,请分别用一条MASM语句完成其要求。(1)将45H,0F000H,89H存放在变量XYZ的存储单元中。XYZ DB 45H,0F000H,89H (2)预留100个字节单元的存储空间,用变量名BUFFER表示 BUFFER DB 100 DUP(?)(3)将字符串“How are you !

汇编语言程序求答案
最近老师布置一道题,用汇编语言编程统计30个学生成绩,要求:1.键盘输入;2.计算出最高分,最低分并显示;3.统计60分一下,60-69,70-79,80-89,90-100各个分数段人数,并显示;4.计算平均分,显示两位小数;5.结果用菜单显示。本人实在是水平差劲,请求各位高手帮忙写个源程序,感激不尽! 展开 ...

汇编语言程序设计题
汇编语言程序设计题 请各位达人帮忙,题目如下:从键盘上输入2个10位数以内(位数可变)十六进制数,对其求和并显示结果,程序运行时提示输入加数和被加数,求完和显示结果后,显示继续和退出。非常谢谢!... 请各位达人帮忙,题目如下:从键盘上输入2个10位数以内(位数可变)十六进制数,对其求和并显示结果,程序运行时提示输入...

相似回答