物理地址计算组件IAPX8088 [英] Physical address calculation assembly IAPX8088

查看:71
本文介绍了物理地址计算组件IAPX8088的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

鉴于:CS = 0x5645,DS = 0x1000,ES = 0x6783,SS = 0x0FFF,BX = 0x4567,SI = 0x1000,DI = 0x2000,BP = 0x4500
如果ax = 0,则写入由以下指令读取或写入的存储位置的物理地址.

Given that: CS=0x5645, DS=0x1000, ES=0x6783, SS=0x0FFF, BX=0x4567, SI=0x1000, DI=0x2000, BP=0x4500
Write the physical address of the memory locations read or written by the following instructions if ax=0.

mov ax,[si]        
mov ax,[bp]        
mov ax,cs:[bp+20]
mov ax,[bx+si+10]  
mov ss:[bx+di],ax  
mov es:[bp+si+0x200],20 

这种方式计算地址的公式是什么,以及如何处理段寄存器.

What is the formula for calculation address this way and how to deal with segment registers in this.

推荐答案

要计算物理地址,请执行以下操作:

To calculate the physical address do the following:

  • 必须使用64KB环绕将方括号之间的所有组件加在一起,因此总和为[0,65535].
  • 段寄存器的值必须首先乘以16,然后使用1MB环绕式加到结果中,所以总和为[0,1048575].注意使用正确的段寄存器!

示例:

mov ax,es:[bx+si+123]

物理地址为((((bx + si + 123)和0x0000'FFFF)+ es * 16)和0x000F'FFFF

这篇关于物理地址计算组件IAPX8088的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆