实验二 汇编语言程序设计基础

寻址方式

已知数据段定义如下

DA_BYTE DB ?

V1 DB 22H

V2 DB 33H

MS DB 'ABCDEFG'

(1)将数据指令组合成完整程序,运行前写出下列语句中源操作数和目录操作数的寻址方式,以及目的操作数的值。然后运行程序,记录目的操作数的值,验证分析结果。

MOV CL,50H ;寄存器,立即

MOV SS,AX ;寄存器,寄存器

MOV CX,50H ;寄存器,立即

MOV DA_BYTE,2AH ;直接,立即

MOV DS,AX ;寄存器,寄存器

MOV SI,OFFSET V1 ;寄存器,立即

MOV SI,AX ;寄存器间接,寄存器

MOV DX,CS ;寄存器,寄存器

MOV DI,2 ;寄存器,立即

MOV AL,MSDI ;寄存器,相对

MOV BX,1 ;寄存器,立即

MOV AL,MSBXDI ;寄存器,相对基址变址

(2)指出下列指令中的错误,并说明原因。修改指令,并执行指令观察结果。

MOV AH,BX ;数据类型不匹配

MOV V1,V2 ;不能两个内存数

MOV ES,2000H ;段寄存器不能直接传送立即数

MOV BX,OFFSET V2 ;正确

MOV DA_BYTE,BX ;不能两个内存数

MOV CS,AX ;CS不能是目的操作数

MOV DI,OFFSET V1 ;正确

MOV DI,50H ;两个操作数的数据类型不明确

MOV DS,ES ;不能两个都是段寄存器

相关推荐
叩码以求索9 分钟前
经典算法实例分析:写字符串需要的行数
开发语言·javascript·ecmascript
我是唐青枫21 分钟前
Kotlin 运算符重载详解:为什么 a += b 有时改对象,有时换对象?
开发语言·kotlin
2zcode24 分钟前
基于MATLAB图像处理的饮料瓶识别与价格显示系统设计与实现
开发语言·图像处理·matlab
ylscode32 分钟前
微软推送KB5095189:Windows 11 OOBE开箱即用体验迎来新一轮优化
windows·microsoft
骑士雄师1 小时前
大模型:临时会话
开发语言·python
努力中的编程者1 小时前
STL-vector的模拟实现
开发语言·c++·算法·stl·vector
薛定猫AI2 小时前
【深度解析】GLM-5.2 与 Z-Code:AI 编程智能体的原理拆解与 Python 调用实战
开发语言·人工智能·python
没文化的阿浩2 小时前
【C++】详解继承机制
开发语言·c++
文祐2 小时前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
雪的季节2 小时前
OCR: windows 环境基于c++的 paddle ocr 编译【CPU版本】编译成dll ,在QT、VS中调用
开发语言