zoukankan      html  css  js  c++  java
  • 汇编四(习题)

    汇编语言对数组寻址几种方式:

    # 方式一
    
    mov ax,arr[si]; 直接方式    
    
    # 方式二
    
    mov bx,offset arr;
    mov ax, arr[bx]; 完成上面一样的方式

    程序设计题(30分)

    1. 编写一个程序段,将AX寄存器低5位与BX寄存器低11位拼接为一个字,结果送至AX寄存器(10分)。

    ;1. 编写一个程序段,
    ;将AX寄存器低5位与BX寄存器低11位拼接为一个字,结果送至AX寄存器(10分)。
    
    assume cs:codes;
    codes segment
    
    start:
        mov ax,1234h;
        mov bx,1234h;
        ROR ax,1;  ROL ax,1 源操作数 不知道为什么只能为1 ROR 不能实现ROR ax,5 简化代码
        ROR ax,1;
        ROR ax,1;
        ROR ax,1;
        ROR ax,1;
        and ax,0F800h;
        and bx,07FFh;
        add ax,bx;
        hlt
    codes ends
    end start;

    2.假设寄存器AX保存的是一个有符号数,编写一个程序段实现求AX的绝对值,即(10分)。

    ;寄存器AX保存的是一个有符号数,编写一个程序段实现求AX的绝对值,
    
    datas segment
        x dw 5;
        y dw -5;
        z dw ?;
    datas ends
    
    assume cs:codes,ds:datas
    codes segment
    
    start:
        mov ax,datas;
        mov ds,ax;
        mov ax,y;
        cmp ax,'0'
        jGE let1
        mov bx,0000h;
        sbb bx,ax; cf=1;
        mov ax,bx;
        let1:
        mov z,ax;
        hlt
    codes ends
    end start;

     

    3.假设数据段中定义了一个名为SEQNUM的字类型数组,该数组的元素个数为100,试编写一个程序段实现将这个数组的100个元素依次初始化为1,2,3,…,100,也就是第一个元素赋值为1,第二个元素赋值为2,依次赋值10分)。

    ;寄存器AX保存的是一个有符号数,编写一个程序段实现求AX的绝对值,
    
    datas segment
        SEQNUM dw 100 dup(0);
        len equ $-SEQNUM;200 子类型为200
    datas ends
    
    assume cs:codes,ds:datas
    codes segment
    
    start:
        mov ax,datas;
        mov ds,ax;
        mov cx,len;
        xor di,di;
        xor ax,ax;
        inc ax;
        next:
        mov SEQNUM[di] ,ax;
        inc di
        inc di
        inc ax;
        loop next    
        hlt
    codes ends
    end start;
  • 相关阅读:
    关于标签类的注意事项
    层叠样式表css的优先级
    link常用的作用
    html中属于布尔类型的属性
    行级标签和块级标签的区别
    拥有inline-block属性的标签
    JDK中的Timer和TimerTask详解(zhuan)
    关于 MySQL LEFT JOIN 你可能需要了解的三点(zhuan)
    Logger日志级别说明及设置方法、说明 (zhuan)
    Velocity教程 (zhuan)
  • 原文地址:https://www.cnblogs.com/dgwblog/p/11920859.html
Copyright © 2011-2022 走看看