常用汇编指令的使用

发布时间:2024-08-29

常用汇编指令的使用

一、 实验目的

(1) 了解各种字符尤其是小写字母和大写字母在计算机内部的表示形式,

并学习如何进行大小写字母的转换

(2) 了解AND、OR与XOR指令,并掌握它们的用途,提高代码运行的

效率。

(3) 掌握使用多层循环计数器CX的用法,避免导致出现错误。

(4) 了解BX、BP、SI、DI四种地址寄存器的组合使用。并掌握它们的含

义。

二、 实验内容

把数据段中定义的字符串前四个是小写字母的变成大写字母。使用DEBUG命令查看转换后的结果。

三、 实验步骤

(1) 首先采用BX控制行的偏移量,SI控制列的偏移量。

(2) 先给外层循环的CX赋值为4,BX为0;进入内层循环时先把外层循

环的值压入栈内。重新给CX赋值,此值为内存循环值,SI赋值为4.

(3) 根据偏移量取出字母放到AL中,并把与11011111B进行运算,并把

结果放入AL中,其次SI自增1.

(4) 内层循环完了,BX加上16,栈顶元素弹出到CX,重新进入内存循

(5) 直至外层循环完了为止。

四、 实验流程图

开始

BX=0,CX=4

CX=0?

PUSH CX SI=0,CX=4

取出字母进行 与运算并存回

CX=0?

BX=BX+6 , POP CX

结束

五、 实验代码

stack segment

dw 0

stack ends

data segment

db '1. create '

db '2. alter '

db '3. select '

db '4. modify '

data ends

code segment

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

start:

mov ax,data

mov ds,ax

mov ax,stack

mov ss,ax

mov bx,0

mov cx,4

s0:

push cx

mov si,0

mov cx,4

s1:

mov al,[bx+si].3

and al,11011111b

mov [bx+si].3,al

inc si

loop s1

add bx,16

pop cx

loop s0

mov ah,4ch

int 21h

code ends

end start

六、实验心得

(1) 使用低端八位AL编译时产生操作数指令出错,按照老师说的,

[BX+3+SI]没有错,可是在自己的电脑运行却报错。去掉3就行了,

这是什么问题自己也不知道。还有待解决。

(2) 今天在机房帮他人调试程序,发现敲T命令时会异常退出,不知道是

怎么回事。

常用汇编指令的使用.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219