汇编语言第六章

8088/8086:

    最小模式下信号总线由芯片内部直接引出

    最小模式下 8086 的 低八位数据线 和 低八位地址线

    位分时复用

    控制线:

        发送地址时,

        会送出 ALE(地址锁存允许信号) 信号,

        IO/(!M) 信号区分 端口 和 存储器,端口用于 键盘鼠标等外设等,

        另外用于 内存(ROM+RAM+显存) 访问(磁盘,内存条,显卡)

        4位地址线 也为分时复用,分别表示 地址/状态

        (!DEN)  :Data Enable

        (DT/R)  :Data Transfer

        (INTR)  :Interrupt Receive

        (INTA)  :Interrupt Access

        (NMI)   :Non Maskable Interrupt

        (HOLD)  :Hold DMA

        (HLDA)  :Hlod DMA Access

    最大模式下控制总线由8088和总线控制器8288共同构成

实验:

  关于segment编译后站多少字节:

assume cs:code, ds:data, ss:stack

data segment
    dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h
data ends

stack segment
    dw 0, 0, 0, 0, 0, 0, 0, 0
stack ends

code segment
start:      mov ax, stack
            mov ss, ax
            mov sp, 16

            mov ax, data
            mov ds, ax

            push ds:[0]
            push ds:[2]
            pop ds:[2]
            pop ds:[0]

            mov ax, 4c00h
            int 21
code ends

end start
assume cs:code, ds:data, ss:stack

data segment
    dw 0123h, 0456h
data ends

stack segment
    dw 0, 0
stack ends

code segment
start:      mov ax, stack
            mov ss, ax
            mov sp, 16

            mov ax, data
            mov ds, ax

            push ds:[0]
            push ds:[2]
            pop ds:[2]
            pop ds:[0]

            mov ax, 4c00h
            int 21
code ends

end start
assume cs:code, ds:data, ss:stack

code segment
start:      mov ax, stack
            mov ss, ax
            mov sp, 16

            mov ax, data
            mov ds, ax

            push ds:[0]
            push ds:[2]
            pop ds:[2]
            pop ds:[0]

            mov ax, 4c00h
            int 21
code ends

data segment
    dw 0123h, 0456h
data ends

stack segment
    dw 0, 0
stack ends

end start

  通过这个实验,再doxbox中debug 单步,发先 前两种 代码段大小 为 N 则 实际编译大小为  min(2^n >= N) 字节  ,而下面这种固定为48个字节

未完续待……

猜你喜欢

转载自www.cnblogs.com/daker-code/p/12397742.html
今日推荐