汇编实验总结
1.汇编语言程序设计实验报告
你的程序不完整,以下为完整程序:
datarea segment
DATA1 dw 5
DATA2 dw 4
DATA3 dw ?
DATA4 dw ?
datarea ends
prognam segment
main proc far
assume cs:prognam,ds:datarea
start: mov ax,seg datarea
mov ds,ax
mov es,ax
mov ax,data1
mov bx,data2
add ax,bx
mov DATA3,ax
mov ax,DATA1
sub ax,bx
mov DATA4,ax
mov ah,4ch
int 21h
ret
main endp
prognam ends
end start
2.根据汇编程序填写 完成 实验报告
这个……很难说要怎么写,毕竟只是小程序,系统并不大……而且是我一年前写的,汇编这种东西,很难记忆的……硬件连线无法回答,因为这是PC机的程序,连线的话……设计分析就和你之前看的那个知道回答的提问,你多吹两三句。
软件结构就是输入函数、主函数、输出函数,其中主函数通过将要计算的数存放进相应的寄存器,然后设置中断向量,然后触发中断,在加多几句废话。流程图的话你就按照上面说的写。
那个“MAIN: ”就是主函数,照着画流程图就好了。总结就写要完成这个任务,可以用软件方式的函数调用,也可以用软件中断,分析这两者的优劣就好了。
3.汇编语言程序设计实验报告
你的程序不完整,以下为完整程序:datarea segmentDATA1 dw 5 DATA2 dw 4DATA3 dw ?DATA4 dw ?datarea endsprognam segmentmain proc far assume cs:prognam,ds:datareastart: mov ax,seg datarea mov ds,ax mov es,ax mov ax,data1 mov bx,data2 add ax,bx mov DATA3,ax mov ax,DATA1 sub ax,bx mov DATA4,ax mov ah,4ch int 21h ret main endpprognam ends end start。
4.根据汇编程序填写 完成 实验报告
这个……很难说要怎么写,毕竟只是小程序,系统并不大……而且是我一年前写的,汇编这种东西,很难记忆的……
硬件连线无法回答,因为这是PC机的程序,连线的话……
设计分析就和你之前看的那个知道回答的提问,你多吹两三句。
软件结构就是输入函数、主函数、输出函数,其中主函数通过将要计算的数存放进相应的寄存器,然后设置中断向量,然后触发中断,在加多几句废话。
流程图的话你就按照上面说的写。那个“MAIN: ”就是主函数,照着画流程图就好了。
总结就写要完成这个任务,可以用软件方式的函数调用,也可以用软件中断,分析这两者的优劣就好了。
5.求一篇汇编语言关于debug的实验报告
debug命令及参数如下,你根据你的报告要求适当修改下就可以了,参数挺多,如果字数多捡主要的几个介绍下就可以了,比如-A ,-R,-D-U等等常用的就可以了DEBUG的命令及功能如下:* A[地址] 汇编命令 功能: 将指令直接汇编成机器码输入到内存中。
说明: 用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制, 用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,改语句被汇编到 CS:0100区域。 例A:>DEBUG -a 0100 08F1:0100 MOV AH,09 08F1:0102 MOV DX,109 08F1:0105 INT 21H; 08F1:0107 INT 21H;debug tan。
exe -u:反编译成汇编语言程码 ………… 。 。
-g 100 指定中断点 Program terminated normally: 另外:我们在DEBUG下可运行一个文件。EXE 如:A:>debug tan。
exe -g 即可开始运行此程序,和在DOS下完全一样: * H[数值][数值] 十六进制算术运算命令 功能: 分别显示两个十六进制数相加的和以及第一个数减去第二个数的差。 说明: 替用户完成简单的十六进制数的运算。
例:-h4538 5623 9B5B EF15* I[端口地址] 功能: 从指定的端口输入并显示(用十六进制)的一个字节。 例:-i70 F9;显示70端口的内容为F9 I命令可由80x86的64K个端口取数据* L[地址][盘号:][逻辑扇区号][扇区数] 功能: 将一个文件或盘的绝对扇区装入存储器。
说明: 单个L命令能够装入的最大扇区数是 80H,其中盘号 0,1,2,3……分别代表 A,B,C,……出现读盘错,显示错误信息。 (1)格式1。
L装入地址 驱动器名 起始扇区/扇区数 这种方式可把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中,在此外扇区编号引用逻辑/扇区的方式。 例:-L 100 0 01,将A驱的0扇区装至CS:100上 -d 100 10f 08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00。
L,MSDOS 6。22…… (2)格式2:L装入地址 这种方式可把指定文件装入内存,装入的文件可在进入DEBUG时指定亦可用N命令建立,格式为-n文件名: 例1 DEBUG tan。
pas -L 100 例2 DEBUG -n tan。 pas -L 100 须知:L命令只能读取逻辑扇区,不能读取硬盘分区表 L命令中所用的磁盘代码A=00,B=01,C=02……* M[地址范围][起始地址] 数据传送命令 功能: 把地址范围内的存储器单元的内容移到起始地址的指定地址中 说明: 传送期间,源区和目标区可以部分重叠;传送后源区域数据保持不变。
例:-e100 41 42 43 44 45 -d100 10f 08F1:0100 41 42 43 44 45 62 62 63 64 -61 62 63 64 61 62 63 64 ABCDEBCDABCDABCD -M 100 104 110 -d110 L1F 08F1:0100 41 42 43 45 0A 21 19-20 01 01 20 07 96 87 9F ABCDE……* N[盘号: ] [路径] [文件名] [扩展名] 功能: 定义操作文件名。 说明: 可同时定义两个操作文件,并将形成的文件控制块相应的设置在内存 CS:5C和CS:6C上,供以后的L和W命令操作之用。
我们在运行程序侦错时,在启动DEBUG时在其后加文件程序名以及该程序的参数或运行文件,但当我们侦错一段后,可能装入其它文件来测试,这时我们可利用N命令来设置而无需退出DEBUG。 例:A:>DEBUG tan。
exe -n youg。pas 当程序侦错一段时间后,若要把tan。
exe装入tan1。pas则-ntanl。
pas* O[端口地址][数据] 输出命令 功能: 发送字节到指定的输出端口。 例:当我们遇到开机要求输入口令时,可用如下方式取消 -O 70 10 _O 71 00* P[=地址] [数据] 进程命令 功能: 将一个子程序调用指令,循环指令,中断指令或一个重复字符串指令,停止在下一条指令上。
说明: 在执行一条子程序调用指令,循环指令,中断指令或一个重复字符串指令时,发出P命令去执行有关指令,并且返回到要执行的下一条指令。 P命令和T一样选用来跟踪程序运行过程用的命令,我们可以在P命令中指定程序运行的起始地址,指令个数,如未指定则CS:IP所指定程序的地址开始一次运行一条令。
P与T命令的差别在于P命令把CALL/INT当成一条指令来执行,简化了跟踪过程,P命令只运行RAM内存的命令,而T命令则可运行RAM和ROM里的程序。* Q 退出命令。
* R[寄存器] 寄存器命令 功能: 一,显示单个寄存器的内容,并提供修改功能。 二,显示所有寄存器内容, 再加上字母标志位状态以及要执行的下一条指令。
三,显示8个标志位状态, 并提供修改功能。若不想改变则回车即可。
例:-r bx bx 0050 :51 -r AX=0000 BX=0051 CX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0003 ES=0CD3 SS=0CD3 IP=0100 NV UP EI PL NZ NA OP NC 0CD3:0100 0F DB OF 若想改变标志寄存器,用-RF回车,则DEBUG会将标志内容显示出来,若想改变任一标志,只要输入该标志的名称即可。 标志名称 设置 未设置 标志名称 设置 未设置 滋出 OV(未溢出) NV(未溢出) 零位 ZR NZ(不等于零) 方向 DN(减少) UP(增加) 辅助进位 AC NA(无进位) 中断 EI(许可) DI(禁止) 奇偶标志 PE(偶) PO(奇) 符号 NG(负) PL(正) 进位 CY NC(清除进位) 例:-Rf NV UP EI PL NZ NA PO NC :-OV DI← 输入值* S[地址范围] [字符串] 功能: 在指定的地址范围内查找给定的字。
6.求大神详细分析下这个汇编源代码,实验报告分析分开来写
<p></p> <p>
</p> <p>;点开图片吧,这样排版好些</p> <p>;这个题感觉有点奇怪。。。</p> <p>;测试,用户按下键盘的数字5 ,对应ASCII码为35H</p> <p>;最后CX=0005H,就是说AA循环5次</p> <p>;显示DL内容5次,而DL=01H 对应ASCII码显示为空,所以什么字符都显示不出来或者是乱码</p>
7.求汇编语言 顺序结构程序设计实验报告
DATAS SEGMENT
VARX DW 15
VARY DW 16
RESULT DW 0
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
mov ax,VARX
mov bx,VARY
add ax,bx ;x+y
mov bx,8
xor dx,dx
mul bx ;*8
sub ax,VARX ;-x
mov bx,2
xor dx,dx
div bx ;/2
mov result,ax
MOV AH,4CH
INT 21H
CODES ENDS
END START