汇编语言 实验12

 1 assume cs:code
 2
 3 code segment
 4 start:
 5         mov ax,code
 6         mov ds,ax
 7         mov si,offset do0
 8         mov ax,0
 9         mov es,ax
10         mov di,200h
11         mov cx,offset do0end-offset do0
12         cld
13         rep movsb
14
15         mov ax,0
16         mov ds,ax
17         mov word ptr ds:[0],200h
18         mov word ptr ds:[2],0
19
20         mov ax,4c00h
21         int 21h
22
23    do0:
24         jmp short do0start
25    do0str:
26         dw 1
27         db ‘divide error! ‘
28    do0start:
29         mov ax,cs
30         mov ds,ax
31         mov si,202h
32
33         mov ax,0b800h
34         mov es,ax
35         mov di,7c8h
36         mov cx,14
37     ;    mov cx,ds:[202h]
38    s:
39         mov al,ds:[si+2]
40         mov es:[di],al
41         inc si
42         add di,2
43         loop s
44
45         mov ax,4c00h
46         int 21h
47
48         mov ax,ds:[202h]
49         inc ax
50         mov ds:[202h],ax
51
52         push cx
53         mov cx,5
54      ds0:
55         push cx
56         mov cx,0ffffh
57      ds1:
58         loop ds1
59         pop cx
60         loop ds0
61         pop cx
62
63         iret
64
65    do0end:
66         nop
67
68 code ends
69 end start

shiyan12.asm

 1 assume cs:code
 2
 3 code segment
 4 start:
 5         mov ax,0
 6         mov bx,0
 7         div bx
 8
 9         mov ax,4c00h
10         int 21h
11
12 code ends
13 end start

12fushu.asm

时间: 2024-11-25 00:18:34

汇编语言 实验12的相关文章

Cisco PT模拟实验(12) 路由器静态路由的配置

Cisco PT模拟实验(12) 路由器静态路由的配置 实验目的: 掌握静态路由的配置方法和应用 掌握路由选择表中的路由描述 熟悉路由选择和分组转发的原理及过程 实验背景: 某公司除总部外,另有一处分部,并且都有一个独立的局域网,为了使公司各部之间能相互通信,共享资源.每个出口利用一台路由器进行连接,两台路由器间公司申请了一条DDN专线(数字数据网)进行相连,要求做适当配置实现相互访问. 技术原理: 路由器属于网络层设备,能够根据IP数据报的首部信息,选择一条最佳路径(这一过程称为"路由选择&q

王爽<汇编语言>实验十

实验十 3.数值显示(以下程序附带测试程序) 1 ;名称: dtoc 2 ;功能: 将dword型数据转变为表示十进制数的字符串,字符串以0为结尾 3 ;参数: (ax)=dword型数据低字 4 ; (dx)=dword型数据高字 5 ; ds:si指向字符串的首地址 6 ;返回: 无 7 assume cs:code 8 data segment 9 haha dd 4294967295 10 tata dd 16 dup(?) 11 data ends 12 code segment 13

汇编语言实验二

一.使用Debug,将下面的程序段写入内存,逐条执行. 用a命令将指令段写入内存 用r命令改写CS:IP使其指向2000::0内存单元 用t命令执行指令 结果如图 二.观察图3.19中的实验过程,然后分析:为什么2000:0~2000:f中的内容会发生改变 根据图,用命令a将指令输入内存单元 可能与栈的知识有关,大致为什么还是不了解,希望能得到解决. 实验总结与体会: 通过实验初步了解了栈的一些存储方式,和其存储形式.同时也逐渐熟悉了汇编语言的编写环境. 学习到了汇编语言如何设置第三方变量. 原

汇编语言实验 3 编程、编译、连接、跟踪

实验内容 (1)第1步,编写汇编源程序t1.asm, 源程序代码如下: assume cs:code code segment mov ah,2 mov dl,3 add dl,30h int 21h mov ah,2 mov dl,6 add dl,30h int 21h   mov ah,4ch int 21h code ends end 因为对汇编语言的一系列还不熟练,所以花了点时间,终于进去了. 对源程序 t1.asm 进行汇编.连接.运行.调试 (1) 运行程序,观察程序输出结果是什么

汇编语言 实验3

实验3 实验内容1:运行exe文件输出数据,并观察每一步的调试情况 步骤1:在记事本中编写t1.asm文件 步骤2:在dosbox环境下汇编.连接.运行文件,得到数据36 步骤3:修改dl寄存器中的值为0-9中任意一个数,重新编译链接运行,查看结果 步骤4:进入debug环境进行调试-- -r查看各寄存器的值: -d查看PSP程序段前缀中前两个字节的值:(CS和DS寄存器相差10h:存放程序段前缀的内容,使程序返回时能记住返回的地址) -u进行反汇编 步骤5:用-t(查看普通步骤).-p(查看i

汇编语言实验9

四.实验内容 补全程序 t1.asm,完成在屏幕上输出内存单元中的十进制两位数 源代码及其注释: 编译连接运行测试结果: 2. 补全程序 t2.asm,完成在屏幕上输出 data 段定义的 5 个十进制两位数,数据和数据 之间以空格间隔. 源码及其注释如下: 编译连接运行后的结果:. 教材实验 9(P187) 编程:在屏幕中间分别显示绿色,绿底红色.白底蓝色的字符串'Welcome to masm!'. 源码及其相关注释如下: 运行结果测试; 五.实验总结 此次实验考察了对十进制数的打印以及字符

汇编语言 实验九

一: 补全程序t1.asm,完成在屏幕上输出内存单元中的十进制两位数 1 因为我们知道第一段的db中只含有一个数字12,所以其只占即ds:[0]的位置,而我们需要的是将商保存后面字节的位置 2我们需要add dl 48是因为数字与数字符号之间的ASCII码差值为48 之后我们再查看其中的结果: 我们可以发现正如我么所想要的结果. 二:补全程序t2.asm,完成在屏幕上输出data段定义的5个十进制两位数,数据和数据之间以空格间隔 1 我们需要将db中的5个数字完成除法运算,所以可以运用到loop

实验12——指针的基础应用2

1,本次课学习到的知识点: 字符串和字符指针,通常为一串字符,被看做一个特殊的一位字符数组,字符在内存中连续存放,起始地址代表了存放字符的串常量的首字符的储存单元的地址,被称为字符串常量的值,字符串常量实质上是一个指向该字符串首字符的指针常量. 动态内存分配:利用c语言提供的动态分配函数来非配所需空间,使用指针指向获得的内存空间,以便用指针在该空间内实施运算或操作. 2. 实验过程中遇到的问题及解决方法: 本次作业中并没有遇到什么很大的问题,就是题目有一个没有看懂,我放弃了那道题改做选做题,对于

汇编语言 实验14

1 assume cs:code 2 3 data segment 4 db 9,8,7,4,2,0 5 db 0,3,6,9,12,15 6 data ends 7 8 stack segment 9 dw 16 dup (0) 10 stack ends 11 12 code segment 13 begin: 14 mov ax,stack 15 mov ss,ax 16 mov sp,20h 17 18 mov ax,0b800h 19 mov es,ax 20 mov di,0 21