• 汇编语言6


    div指令

    1.除数:有8位和16位两种,在一个寄存器或者内存中。

    2、被除数:默认放在AX或(DX和AX)中,如果除数为8位,被除数为16位,被除数默认在AX中存放,
    如果除数为16位,被除数为32位,被  除数则在(DX和AX)中存放,DX存放高16位,AX存放低16位。

    题目1

    assume cs:code, ds:data
    data segment
    db 'a'  ;8位
    dw 100  ;16位
    dd 100006  ;32位
    data ends


    code segment

    start:
    mov ax,data
    mov ds, ax

    mov ax,500
    mov bx,0
    div byte ptr[bx]    ; 500/97 =5...15, al保存商, ah保存余数

    ;mov ax,86A1h   ;设置被除数 100001 == 186A1h
    ;mov dx,1
    ;div word ptr[bx+1]  ;执行后 ax保存商, dx保存余数

    mov ax,word ptr[bx+3]  ;设置被除数
    mov dx,word ptr[bx+5]
    div word ptr[bx+1]  ;执行后 ax保存商, dx保存余数


    mov ax,4c00h
    int 21h
    code ends
    end start

    题目2
    1982年关于DEC公司的一条记录:
    公司名称:DEC
    总裁姓名:Ken Olsen
    排    名:137
    收    入:40
    著名产品:PDP

    1988年DEC公司的信息有了变化:
    1.Ken Olsen 在富翁榜上的排名已升至38位;
    2.DEC的收入增加了70亿美元;
    3.该公司的著名产品已变为VAX系列计算机。
    任务:编程修改内存中的过时数据。

    c语言代码

    struct company
    {
     char cn[30];
     char rn[30];
     int num;
     int sr;
     char cp[30];
    }
    struct company aa={"DEC", "Ken Olsen", 130, 40, "PDP"};
    void main()
    {
     aa.num = 38;
     aa.sr = 110;
     aa.cp[0] = 'V';
     aa.cp[1] = 'A';
     aa.cp[2] = 'X';
    }

    汇编代码
    assume cs:code, ds:data
    data segment
    db 'DEC','Ken Olsen'
    dw 130,40
    db 'PDP'
    data ends

    code segment
    start:
    mov ax,data
    mov ds,ax
    mov bx,12
    mov word ptr[bx], 38
    add word ptr[bx+2], 70
    mov byte ptr[bx+4], 'V'
    mov byte ptr[bx+5], 'A'
    mov byte ptr[bx+6], 'X'
    mov ax,4c00h
    int 21h
    code ends
    end start

  • 相关阅读:
    《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---07
    《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---05
    shell-查看手机分辨率
    imageView-scaleType 图片压缩属性
    actionbar-displayOptions 属性分析
    setting.system-全局属性的设定
    ActivityChooserView-如何隐藏选择的应用图标
    mIsFunui-判断Funui方法
    setting-在设置中添加新的选项
    install-软件安装跟push的区别
  • 原文地址:https://www.cnblogs.com/mayingkun/p/4539164.html
Copyright © 2020-2023  润新知