汇编网首页登录博客注册
unixandlinux的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新评论
最新留言
好友圈
友情链接

[2023-06-04 12:42] 第8章 实验7 寻址方式在结构化数据访问中的应用

实验 7  寻址方式在结构化数据访问中的应用

本实验的编程代码如下:

方法 1:不使用栈操作

assume cs:code

data segment
  db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  db '1993','1994','1995'
; 以上是表示 21 年的 21 个字符串,每个字符串包含 4 个字符,所以共计 84 个字符...
阅读全文 | 评论次数(0) | 浏览次数(109) | 所属类型(课程实验)

[2023-05-09 19:22] 第6章 实验5 编写、调试具有多个段的程序

实验 5 编写、调试具有多个段的程序

1. 将下面的程序编译、连接,用 Debug 加裁、跟踪,然后回答问题。

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...
阅读全文 | 评论次数(0) | 浏览次数(124) | 所属类型(课程实验)

[2023-05-01 14:46] 第5章 实验4 [bx] 和 loop 的使用

实验 4 [bx] 和 loop 的使用

(1) 编程,向内存 0:200~0:23F 依次传送数据 0~63(3FH)。

将内存 0:200~0:23F 改换成 0020:0~0020:3F,使得内存单元的偏移地址范围成为 0~3F,以与需要传送的数据值 0~63(3FH)一致。注意,这是字节型数据的复制。编程如下:

方法 1:设置 CX 寄存器存储的数据与需要复制的数据相等,直接将 CX 寄存器中的数据复制到指定内存单元
assume cs:code

code segment

        mov ax,0020h
        mov ds,ax
        mov cx,3Fh
        ...
阅读全文 | 评论次数(0) | 浏览次数(112) | 所属类型(课程实验)

[2023-04-21 17:56] 第4章 实验3 编程、编译、连接、跟踪

实验3 编程、编译、连接、跟踪

(1) 将下面的程序保存为 t1.asm 文件,将其生成可执行文件 t1.exe。
assume cs:codesg

codesg segment

        mov ax,2000H
        mov ss,ax
        mov sp,0
        add sp,10
        pop ax
        pop bx
        push ax
        push bx
        pop ax
        pop bx
        mov ax,4c00H
        int 21H

codesg ends

end
        编译命令:
masm t1;
        连接命令:
link t1;

(2) 用 Deb...
阅读全文 | 评论次数(0) | 浏览次数(157) | 所属类型(课程实验)

[2023-04-19 10:06] 第3章 实验2 用机器指令和汇编指令编程

实验2 用机器指令和汇编指令编程

一、预备知识:Debug 的使用
 
1. 关于D命令

D命令的功能是查看指定内存单元所存储的数据信息。其命令格式在实验1中给出如下:
d 段地址:偏移地址
D命令是由Debug执行的,在上面的命令格式中,直接给出了段地址和偏移地址;在执行这样的命令格式的D命令时,Debug会先将段地址传送到段寄存器中再执行D命令的查看数据操作。
Debug执行D命令也是通过CPU启动一段程序来运行的。也就是说,CPU通过段寄存器读取D命令格式中提供的段地址来查找目标内存单元,然后读取其存储的数据并显示出来。
CPU的段寄存器共有4个,CS、DS、SS...
阅读全文 | 评论次数(0) | 浏览次数(133) | 所属类型(课程实验)

[2023-04-15 10:12] 第2章 实验1 查看 CPU 和内存,用机器指令和汇编指令编程

实验1 查看 CPU 和内存,用机器指令和汇编指令编程

一、Debug 命令总结
1. Debug 的 E 和 A 命令用于将数据写入内存,D 和 U 命令用于查看(输出显示)内存所存储的信息,T 命令用于执行 CS:IP 指向的地址所存储的指令,R 命令用于查看(输出显示)和改写 CPU 寄存器所存储的数据。
2. E 和 A 命令的区别:E 命令以机器码或字符(串)形式写入数据,A 命令则以汇编指令的形式写入数据。
3. E 和 A 命令的共同点:
(1) E 和 A 命令都有两种命令格式:
e <起始地址 数据1 数据2 数据 3 ...>
e <起始地址>
a [起...
阅读全文 | 评论次数(0) | 浏览次数(74) | 所属类型(课程实验)
页码数(2):  1  2