关于汇编的一些问题

4.1画出8086CPU的工作原理示意图,并将以简要说明

 由于8086CPU采用16位结构,所以8086CPU在内部用地址加法器将两个16地址合成一个20位的物理地址,来提高寻址能力。通过20位的地址总线传送到存储器,在对应的物理地址中寻到相关的指令后,将指令送到指令缓冲器,再通过指令执行器去执行相关的指令

4.2画出80386CPU的工作示意图,并将以简要说明

 80386为32位机,有三种工作方式

1、实地址方式(real mode)
实地址方式的工作原理与8086基本相同,其主要区别是32位微处理器能处理32位数据。
2、保护方式(protected mode)
保护方式下,CPU可访问232字节的物理存储空间,段长为232字节,而且还可以实施保护功能
32位微处理器为了支持多任务操作系统,以4个特权级来隔离或保护各用户及操作系统。
3、虚拟8086方式(virtual 8086 mode)
在虚拟方式下,运行8086程序可以尽量利用32位微处理器的保护机构。尤其是32位微处理器允许同时执行8086的操作系统及其应用程序和32位微处理器操作系统的应用程序。

4.3上网查阅资料,总结16 32和64位CPU的整数和字符串的表示方法和范围

16位PC机中整数的有效范围是-32768~32767(-2^8~2^8-1),

32位PC机中整数的有效范围是-2^16~2^16-1

64位PC机中整数的有效范围是-2^32~2^32-1

字符串中的字符通过ASCII码的方式表示出来

4.4举例说明常用的传输类汇编指令的使用

mov传送字或字节     mov ax,1

push把字压入堆栈     push [0]

pop把字弹出堆栈      pop [0]

inI/O端口输入  (语法:in 累加器; {端口号 | dx})

out  I/O端口输出  (语法:out {端口号 | dx}; 累加器)

pushf标志入栈)

popf标志出栈

4.5举例说明常用的7种数据寻址方式和3种内存地址的寻址方式

数据寻址方式:

(1)立即寻址,MOV AX, 1234H 

(2)寄存器寻址,寄存器寻址的特点是操作数在CPU内部的寄存器中,在指令中指定寄存器号

(3)直接寻址,MOV ES:[5678H], BL

(4)寄存器间接寻址,MOV [BP], CX  

(5)寄存器相对寻址,MOV AX, 3[SI]

(6)基址变址寻址,MOV AX, [BX+DI]

(7)相对基址变址寻址,MOV AX, [BX+DI+1234H]

内存地址寻址方式:

(1)直接寻址

寻址方式:
[idata]

mov ax,ds:[000E]

(2)寄存器间接寻址

寻址方式:
[bx]

mov ax,[bx]

(3)各种变址寻址

寻址方式:
[bx+si] ; [bx+di]     mov ax,[bx+si]

[bx+si+idata] ; [bx+di+idata]     mov ax,[bx+si+1]

4.6举例说明常用的运算类汇编指令,并编程实现“1+2+3+···+100”求和

add 加法

adc 带进位加法

inc 加1

sub 减法

sbb 带借位减法

dec 减1

cmp 比较(两操作系统做减法,仅修改标志位,不回送结果)

mul 无符号乘法

div 无符号除法

assume cs:codeg
codeg segment
start:	mov bx,1
	    mov ax,0
	    mov cx,100
s:add ax,bx
      inc bx
	loop s
	
	mov ax,4c00h
	int 21h
codeg ends
end start

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值