zoukankan      html  css  js  c++  java
  • boos

    在8086处理器上,如果要用寄存器来提供偏移地址,只能使用BX,SI,DI,BP。

    段寄存器:BX
    段寄存器:SI
    段寄存器:DI
    段寄存器:BP

    不能使用其他寄存器,比如SP、IP、AX、CX、DX。
    这是一种硬性规定,说不上有什么特别的理由。

    而且在设计8086处理器时,每个寄存器都有自己的特殊用途。

     32位  16位 8位寄存器
     EAX  AX=累加器 AH AL
     ECX  CX=计数器 CH CL
     EDX  DX=数据寄存器 DH DL
     EBX  BX=DS段的数据偏移地址 BH BL
     ESP  SP=栈顶指针  
     EBP  BP=栈底指针  
     ESI  SI=复制内存原始地址(movsb movsw)  
     EDI  DI=复制内存目标地址(movsb movsw)  
     32位  16位 8位寄存器
     EAX  AX AH AL
     ECX  CX CH CL
     EDX  DX DH DL
     EBX  BX BH BL
     ESP  SP  
     EBP  BP  
     ESI  SI  
     EDI  DI  


    设计这些寄存器的人,希望我们能够按照不同的用途去使用它们。

    inc  r8/r16/m8/m16
    sub


    123    除以 10  =12 余数为3
    12    除以 10  =1 余数为2
    1      除以 10  =0  余数为1


    ;两个数相加 计算结果输出到屏幕上。

    ;cs:0000 :ip:7c00 =07c00
    ;cs:07c0 :ip:0000 =07c00

    jmp near mycode

    number1:
    dw 125

    number2:
    dw 200

    ;325 / 10 = 32  余数 5
    ;32 /  10 = 3 余数2
    ;3 /   10 = 0 余数3
    ;0 /   10 =0  余数为0
    ;0 /   10 =0  余数为0

    mydata:
    db 'R',0x7,'e',0x7,'s',0x7,'u',0x7,'l',0x7,'t',0x7,':',0x7

    result:
    db  0,0x7,0,0x7,0,0x7,0,0x7,0,0x7;因为十六位最大是ffff=65535,所以要五位

    mycode:
    mov ax,0x07c0
    mov ds,ax ;初始化数据段寄存器

    mov ax,0xb800
    mov es,ax ;初始化显存段寄存器


    ;计算两个数相加之和
    mov bx,number1
    mov ax,word [ds:bx]
    mov bx,number2
    add ax,word [ds:bx]

    mov sp,10 ;被除数
    mov cx,5
    mov bx,result+8

    calc:
    mov dx,0  ; dx:ax / 16位寄存器
    div sp;dx:ax / sp = 商在AX中,余数在DX中。
    add dl,0x30
    mov byte [ds:bx],dl
    sub bx,2
    loop calc 

    show:
    mov cx,(mycode-mydata)/2
    mov di,0
    mov si,mydata

    rep movsw
    ;movs word   es:di  ds:si


    stop: jmp near stop
    times 510-($-$$) db 0
    dw 0xAA55

  • 相关阅读:
    浅谈C++ STL中的优先队列(priority_queue)
    哈夫曼树与哈夫曼编码
    Binary Search 的递归与迭代实现及STL中的搜索相关内容
    Prime 算法的简述
    估算网站需要多少宽带方法
    微服务服务拆分步骤
    第一次有人把科创板讲得这么简单明了
    一个人优秀到可怕的三个迹象!一旦具备,必为人中龙凤,大富大贵
    美元加息怎么“剪羊毛”
    英国脱欧的影响
  • 原文地址:https://www.cnblogs.com/xiaodaxiaonao/p/7158749.html
Copyright © 2011-2022 走看看