上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
实模式
作者:未知 申领版权
2010年12月12日 共有 1852 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:
    

实模式

    在实模式下,80386相当于一个可进行32位处理的快速8086。为80386编写的程序可利用32位的通用寄存器,可使用新增的指令,可采用扩展的寻址方式。段的最大长度是64K,但不象真正的8086,当所存取的存储单元的地址偏移超过0FFFFH时,不会引起模64K的地址反绕而导致段越界异常。所以在实模式下运行的程序访问的存储单元的地址偏移不能超过0FFFFH,转移的目的地址偏移也不能超过0FFFFH。
    80386在上电或复位时,便进入实模式。实模式主要是为80386进行初始化的。在实模式下,常为80386工作于保护模式所需要的数据结构做好各种配置和准备。实模式下采用类似于8086的体系结构,有如下特点。
    1)寻址机构、存储器管理、中断处理机构均和8086一样。
    2)操作数默认长度是16位,但允许使用80386的32位寄存器组。
    3)不用虚拟地址的概念,存储器容量最大为1MB。采用分段方式,每段大小固定为64KB,存储段彼此可以覆盖。实模式不允许分页,其线性地址和物理地址相同,为段寄存器内容左移4位再加上有效地址。
    4)实模式下存储器中保留两个固定区域,一个是初始化程序区,另一个是中断向量区。前者为FFFF0H~FFFFFH,后者为00000H~003FFH。
    5)80386有4个特权级,实模式下,程序在最高级(0级)上运行,80386指令系统中除少数几条指令外,绝大多数指令在实模式下都有效。
    下面举一例子,介绍如何编写在80386实模式下运行的程序,侧重于指令的应用。
    例5.3  写一个程序,以十进制数和十六进制数形式显示双字存储单元F000:1234H的内容。
    
    .386                            ;支持对80386非特权指令汇编
    CSEG SEGMENT   USE16              ;16位段
    ASSUME  CS:CSEG
    BEGIN:MOV      AX,0F000H
    MOV      FS,AX
    MOV      EAX,FS:[1234H]
    
    CALL      TODEC  ;以十进制数形式显示
    CALL      NEWLINE
    
    CALL TOHEX ;以十六进制数形式显示
    MOV AL,‘H’
    CALL ECHO
    CALL NEWLINE
    
    MOV       AH,4CH  ;结束
    INT        21H
    
    ;子程序名:TODEC
    ;功    能:以十进制数形式显示32位二进制数
    ;入口参数:EAX=要显示的值
    ;出口参数:无
    TODEC  PROC    NEAR
    PUSHAD ;所有通用寄存器进栈
    MOV    EBX,10
    XOR    CX,CX
    DECI:  XOR     EDX,EDX
    DIV     EBX
    PUSH    DX
    INC     CX
    OR   EAX,EAX
    JNZ     DECI
    DEC2:  POP     AX
    CALL    TOASC
    CALL    ECHO
    LOOP    DEC2
    POPAD
    RET
    TODEC  ENDP                 
    
    ;子程序名:TOHEX
    ;功    能:以十六进制数形式显示32位值
    ;入口参数:EAX=要显示的值
    ;出口参数:无
    TOHEX  PROC NEAR
    COUNTB  =    8
    ENTER COUNTB,0 ;设置堆栈
    MOVZX   EBP,BP
    MOV      ECX,COUNTB
    MOV      EDX,EAX
    HEXI:  MOV      AL,DL
    AND      AL,0FH
    MOV      [EBP-COUNTB ECX-1],AL
    ROR      EDX,4
    LOOP     HEX1
    MOV      CX,COUNTB
    XOR      EBX,EBX
    HEX2:  MOV     AL,[EBP-COUNTB EBX]
    INC       EBX
    CALL     TOASC
    CALL     ECHO
    LOOP     HEX3
    LEAVE
    RET
    TOHEX  ENDP
    
    ;子程序名:TOASC
    ;功    能:把一位十六进制数转换为对应的ASCII码
    ;入口参数:AL=要显示的值
    ;出口参数:AL=ASCII码
    TOASC  PROC    NEAR
    AND     AL,0FH
    ADD     AL,’0’
    CMP     AL,’9’
    SETA     DL ;CF=0,且ZF=0时,DL置1
    MOVZX   DX,DL
    IMUL     DX,7
    ADD      AL,DL
    TOASC1:RET
    TOASC    ENDP
    
    ;回车换行子程序
    ;入口参数:AL=无
    ;出口参数:AL=无
    NEWLINE    PROC    NEAR
    ;内容略
    NEWLINE    ENDP
    
    ;显示字符子程序
    ;入口参数:AL=要显示的ASCII码
    ;出口参数:AL=无
    ECHO    PROC    NEAR
    ;内容略
    ECHO    ENDP
    
    CSEG    ENDS
    END      BEGIN

    

 

相关新闻

大公司体制内创新的困境
“互联网 ”时代企业的创新困境与驱动
《美国国家创新战略》(2015)
国外技术转移运作模式分析
华为式创新为何能成功?
特斯拉,不是颠覆者
精典读书会 导师业务模式
中国崛起 中国模式 中国话语
鞋类B2C:第三类垂直
PE基本模式、主要性质与核心理念——一个尝试性表述及其延伸

您可能对这些感兴趣  

干货分享|10本最受国外孩子喜爱的英文词典——上
从孩子的表现看父母的缺点!请家长对号入座,看看你是哪一类?
20条制作PPT的视觉原则
培训简史:培训者必知的历史轨迹
广田丰管理培训生人才培养调查报告
第4讲 作为上司的职业经理
第3讲 作为同事的职业经理
第2讲 作为下属的职业经理
第1讲 培养经理人的管理素养
酒店前台新员工上岗培训计划

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》