博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
汇编语言第二章检测题
阅读量:6802 次
发布时间:2019-06-26

本文共 1194 字,大约阅读时间需要 3 分钟。

检测点2.1

1)写出每条指令执行后相关寄存器中的值(用实验来检测)

mov ax,62627        AX = (F4A3H)

mov ah,31H           AX = (31A3H)

注:将31H转入到ax的高位,而不是进行加减乘除,也不能进位

mov al,23H            AX = (3123H)

add ax,ax               AX = (6246H)

mov bx,826CH      BX = (826CH)

mov cx,ax              CX = (6246H)

mov ax,bx              AX = (826CH)

add ax,bx               AX = (04D8H)

mov al,bh               AX = (0482H)

mov ah,bl               AX = (6C82H)

add ah,ah              AX = (D882H)

add al,6                 AX = (D888H)

add al,al                AX = (D810H)

mov ax,cx             AX = (6246H)

2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。

mov ax,2           AX = 2

add ax,ax          AX = 4

add ax,ax          AX = 8

add ax,ax         AX = 16

检测点2.2

1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为(00010H)到(1000FH)。

2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则AS应满足的条件是:最小为(1001H),最大为(2000H)。

如果段地址给定为最小值以下,最大值以上,则CPU无论怎么变化偏移地址都无法寻到2000H单元。

 知识点:若想同时修改CS:IP的内容,可用形同jum 段地址:偏移地址的指令完成;若想修改IP的内容,可用形如jmp 某一合法寄存器。

检测点2.3

下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?

mov ax,bx

sub ax,ax

jmp ax

CPU4次修改IP,第一次在读取mov ax,bx后,第二次在读取sub ax,ax后,第三次在读取jum ax后,第四次在执行jum ax后,最后IP的值是0000H

 

PS

8086CPU有4个寄存器,分别为AX,BX,CX,DX(16位寄存器),因为有高低位,所以又可以分为8个寄存器来使用

操作命令

执行CS:IP指向的内存单元处的指令:T

查看寄存器:R

查看内存:D

修改内存内容:E

以汇编的形式写入内存:A

课后题:

1.往10000H处写指令

执行ax等于3,bx是ax的2倍,cx是bx的2倍。

遇到的问题:

(听大神说00这段空间不稳定,稳定区间00200到002FF,然后我换了一个区间就好了)

 

转载于:https://www.cnblogs.com/KogetsuChida/p/10399784.html

你可能感兴趣的文章
shell 数组
查看>>
Linux操作系统的安装
查看>>
服务器RAID
查看>>
python函数是引用传递(对可变对象而言)
查看>>
Cisco ASA防火墙简易配置与调试手册
查看>>
Node.js搭建聊天室
查看>>
Rob Pike的5个编程原则
查看>>
centos6.5下ntopng安装
查看>>
js控制本地文件及目录的方法
查看>>
Expression Blend实例中文教程(7) - 动画基础快速入门Animation
查看>>
runloop
查看>>
Apache中文官网全面战略合作伙伴关系
查看>>
kibana 性能监控 apm
查看>>
java编辑器Eclispe的打包方法
查看>>
git命令笔记
查看>>
eclipse下修改项目名导致tomcat内发布名不一致的解决方法
查看>>
我的友情链接
查看>>
《第一行代码》1day~了解全貌
查看>>
复习javaIO 之File类
查看>>
【规划】近期的规划
查看>>