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

寻址方式

已知数据段定义如下

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,MS[DI] ;寄存器,相对

MOV BX,1 ;寄存器,立即

MOV AL,MS[BX][DI] ;寄存器,相对基址变址

(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 ;不能两个都是段寄存器

相关推荐
时光追逐者1 小时前
C#拾遗补漏之 Dictionary 详解
开发语言·c#·.net·.net core
夏影孤灯2 小时前
C 语言问题
c语言·开发语言
新手小新6 小时前
C++游戏开发(2)
开发语言·前端·c++
你的电影很有趣7 小时前
lesson30:Python迭代三剑客:可迭代对象、迭代器与生成器深度解析
开发语言·python
程序员编程指南8 小时前
Qt 嵌入式界面优化技术
c语言·开发语言·c++·qt
q__y__L8 小时前
C#线程同步(二)锁
开发语言·性能优化·c#
二川bro9 小时前
第二篇:Three.js核心三要素:场景、相机、渲染器
开发语言·javascript·数码相机
云泽8089 小时前
数据结构前篇 - 深入解析数据结构之复杂度
c语言·开发语言·数据结构
威桑9 小时前
记一次Windwos非常离谱的系统错误,IPF错误,程序构建卡顿,程序启动卡顿。。。
windows
卷卷的小趴菜学编程9 小时前
Qt-----初识
开发语言·c++·qt·sdk·qt介绍