如何解决YASM如何从内存字段中提取
我正在使用ebe在YASM中进行汇编语言。我在这个实验室里绝对迷路了:
第五次实验室练习要求您输入标准日期 MS-DOS功能57h的字段提取器。请创建一个文件 在ebe(或您选择的任何文本编辑器)中命名为date.asm。
问题1-日期提取。
当存储空间非常宝贵时,系统级软件通常会打包 将多个数据字段合并为一个整数。要发现这些数据, 应用程序通常需要提取称为bit的位序列 字符串。例如对于在实地址模式下MS-DOS功能57h 返回DX中文件的日期戳。 (日期戳显示日期 上次修改文件的日期。)位(至4代表一天) 1到31之间的数字,第5到8位是月份号,并且 第9至15位保留年份编号(年份编号相对于 1980)。
鉴于以下代码段,您需要编写代码, 从内存中提取年,月和日的顺序) 字段0x515E并将其保存在指定的存储位置。你是 仅允许使用DX和其他16位寄存器(例如BX,CX)。
.asm代码段给出为:
segment .data
t dw 0x515E
day dw 0
month db 0
year dw 1980
main:
xor EDX,EDX
mov DX,[t]
我应该通过将年月日移动到DX来解决这个问题吗?喜欢:
segment .data
t dw 0x515E
day dw 0
month db 0
year dw 1980
main:
xor EDX,EDX
mov DX,[t]
mov DX,[day]
mov DX,[month]
mov DX,[year]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。