当前位置:文档之家› 汇编实验

汇编实验

汇编实验
汇编实验

8、编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。

实验截图:

实验代码

data segment

Result DW ?

ends

stack segment

dw 128 dup(0)

ends

code segment

start:

; set segment registers:

mov ax, data

mov ds, ax

moves, ax

mov bl,2

mov si,200

mov dx,1

STEP1:

MOV Al,BL

INC Bl

MUL BL cmpax,si

JA STOP

ADD DX,AX

JMP STEP1

STOP: movResult,dx

mov bl,10

MOV AX,DX mov dx,0

BBB:

DIV BL push ax

inc dx

cmp al,0

JZ STEP2 and ax,00ffH loop BBB

STEP2: movcx,dx

mov dx,0

CCC:

pop ax

movdl,ah

add dl,30h

mov ah,02h

int 21h

loop CCC

; wait for any key.... mov ah, 1

int 21h

汇编语言循环程序实验报告

东北大学 计算机硬件技术基础实验报告 一、实验目的 (1) 加深对循环结构的理解; (2) 掌握循环程序的设计方法; (3) 熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。 二、实验内容 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。 2.设STR字符串是以0结尾。试编写一个把字符串中的所有大写字母改为小写字母的程序并将转换后的字符串显示输出。 3.试编程从自然数1开始累加,直到累加和大于5050为止,统计被累加的自然数的个数,并把统计的个数送入COUNT单元,累加和送入TOTAL单元。 三、算法描述流程图 实验内容1、2、3的流程图分别为图1、图2、图3。

图 1 图 2 图3

四、实验步骤 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。 1)输入源程序: DATA SEGMENT BUF DW 23,123,-12,-210,45,0,90,-453 BUF1 DW 8 DUP(0) BUF2 DW 8 DUP(0) A DW ? B DW ? DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX LEA BX, BUF LEA SI, BUF1 LEA DI, BUF2 MOV A,0 MOV B,0 MOV CX,8 L0: MOV AX,[BX] CMP AX,0 JGE L1 MOV [DI],AX ADD DI,2 INC B JMP NEXT L1: MOV [SI],AX ADD SI,2 INC A NEXT: ADD BX,2 LOOP L0 MOV AH, 4CH INT 21H CODE ENDS END START 2)运行程序。

大全程序调试实验报告

微机原理与接口技术 课 程 作 业 班级: 目录

一、实验目的: 汇编语言是一种用助记符表示的程序设计语言。用汇编语言编写的源程序生成的目标代码短,占内存少,执行速度快,适合于系统软件、实时控制软件、I/O接口驱动等程序设计。通过本次实验,熟练掌握汇编程序的调试,深入了解MASM汇编语言及其程序设计方法。 二、实验环境 EDIT编辑器、MASM汇编程序、LINK连接程序、TD调试程序 三、实验过程 (一)基础知识储备 1.了解微处理器80486的内部结构、寄存器组、工作模式等基本知识。 2.熟练掌握微处理器指令系统的相关知识,重点掌握80486的寻址方式和常用的指令格式及功能。 3.了解MASM汇编语言及其程序设计方法。掌握MASM汇编语言的语句格式、语法规则、常用伪指令及DOS功能的调用等。了解顺序结构、分支结构、循环结构和子程序的设计方法。 (二)汇编语言程序设计 1.分析问题,明确要解决的问题和要求。 2.确定解决问题的思路和方法。 3.将解决问题的方案编制成程序流程图。 4.根据流程图,逐条编写程序。 5.上机调试,验证程序是否正确。 (三)汇编程序调试 MASM汇编程序的主要功能是:把源文件转换成用二进制代码表示的目标文件,并生成列表文件;在转换过程中汇编程序将对源程序进行扫描,检查源程序是否有语法错误并指出源程序的语法错误。

汇编语言源程序的调试过程需要经过编辑、汇编、连接、运行、调试等几个步骤: 1.编辑:使用编辑程序,将编写好的程序输入计算机,建立一个扩展名为ASM的汇编语言源文件*.ASM。 2.汇编:使用汇编程序,将*.ASM文件经汇编后生成扩展名为*.OBJ。 3.连接:使用连接程序,把一个或多个目标程序连接成可执行文件*.EXE。 4.运行:运行可执行文件,验证程序是否正确。 5.调试:如果运行中有问题,可使用编辑或调试程序进行修改和调试,重复上述步骤,直到运行正确为止。 四、调试实例 (一)实例一 要求:编写程序,将MBUF为起始单元的5个数按相反次序传送到NBUF开始的存储单元中。 实验思路:本例采用顺序结构和循环结构,合理利用堆栈,通过堆栈实现数据按照相反次序传送。源程序: DATA SEGMENT ;数据段开始 MBUF DB 0,1,2,3,4 ;每个数据分配一个存储单元 NBUF DB 5 DUP(0) ;空5个存储单元备用 DATA ENDS ;数据段结束 STACK SEGMENT PARA STACK ;堆栈段开始,定位类型是PARA DB 100 DUP(0) STACK ENDS CODE SEGMENT ;代码段开始 ASSUME CS:CODE, DS:DATA,SS:STACK ;段分配伪指令 START: MOV AX,DATA ;数据传送 MOV DS,AX ;存储器数据传送到段寄存器中 MOV SI,OFFSET MBUF ;取第一组操作数的偏移地址 MOV DI,OFFSET NBUF ;取第二组操作数的偏移地址 MOV CX,5 ;数据个数5传送到CX中 LOP1: MOV AX,[SI] ;数据传送 PUSH AX ;数据入栈 INC SI ;指针加1 LOOP LOP1 ;循环 LOP2: POP AX ;数据出栈 MOV [DI],AX ;数据传送 INC DI LOOP LOP2 MOV AH,4CH ;终止进程 INT 21H CODE ENDS END START

2020年汇编实验报告

实验三算术运算与代码转换程序设计 一、实验目的 1)掌握算术运算程序的设计方法。 2)掌握代码转换程序的设计方法。 3)进一步掌握各种程序结构。 4)熟练掌握和使用用DEBUG调试程序。 二、实验内容 1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在屏幕上。 2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。 3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。 4)写程序把从键盘输入的四位十六进制数转换为压缩的BCD码,并显示输出。 5)编写一通用过程用来将十进制数(从键盘输入)转换为P(从键盘输入)进制数。 三、实验设备 PC机一台 四、实验步骤 1) 按程序流程图编制实验程序。 2) 输入源程序。 3) 汇编、连接程序,执行程序,检查结果。

4) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。 5) 用D命令检查执行结果。 六、源程序 实验一 DA TA SEGMENT NUM1 DB 22H,33H,44H,55H,66H,77H NUM1L DB 6H NUM2 DB 22H,22H,22H,22H NUM2L DB 4H OUTCOME1 DB 10H DUP(0) OUTCOME2 DB 10H DUP(0) N DB 0H DA TA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV CH,0 MOV SI,OFFSET NUM1 MOV DI,OFFSET NUM2 MOV AH,NUM1L MOV AL,NUM2L CMP AH,AL JAE CHA XCHG SI,DI XCHG AH,AL CHA:SUB AH,AL MOV CL,AL CLC MOV BX,OFFSET OUTCOME1 LOP1:MOV AL,[DI] PUSH CX MOV CL,[SI] ADC CL,AL MOV [BX],CL INC BX INC SI INC DI POP CX

实验室安全说明书

技术开发中心实验室安全说明书 实验室区域行为规范 1.不得在实验室饮食、储存食品、饮料等个人生活物品;不得做与实验、研究无关的事情。 2.整个实验室区域禁止吸烟(包括室内、走廊、电梯间等)。 3.未经实验室管理部门允许不得将外人带进实验室。 4.熟悉紧急情况下的逃离路线和紧急应对措施,清楚急救箱、灭火器材、紧急洗眼装置和冲淋器的位置。铭记集团消防急救电话2510119,2874919。 5.保持实验室门和走道畅通,最小化存放实验室的试剂数量,未经允许严禁储存剧毒药品。 6.离开实验室前须洗手,不可穿实验服、戴手套进入餐厅、阅览室、会议室、办公室等公共场所。 7.保持实验室干净整洁,实验结束后实验用具、器皿等及时洗净、烘干、入柜,室内和台面均无大量物品堆积,每天至少清理一次实验台。 8.实验工作中碰到疑问及时请教该实验室或仪器设备责任人,不得盲目操作。 9.做实验期间严禁长时间离开实验现场。 10.长周期实验时必须有人24小时值守,以保实验安全。 11.进入实验室必须穿隔离服或工作服,化学品实验时必须佩戴防护眼镜。 12.实验室禁止私自进行水、电、土建工程改造,进行改造必须经主管部门审核。

1.所有化学药品的容器都要贴上清晰永久标签,以标明内容及其潜在危险。 2.所有化学药品都应具备物品安全数据清单。 3.熟悉所使用的化学药品的特性和潜在危害。 4.对于在储存过程中不稳定或易形成过氧化物的化学药品需加注特别标记。 5.化学药品应储存在合适的高度,通风橱内不得储存化学药品。 6.装有腐蚀性液体容器的储存位置应当尽可能低,并加垫收集盘,以防倾洒引起安全事故。 7.将不稳定的化学品分开储存,标签上标明购买日期。将有可能发生化学反应的药品试剂分开储存,以防相互作用产生有毒烟雾、火灾,甚至爆炸。 8.挥发性和毒性物品需要特殊储存条件,未经允许不得在实验室储存剧毒药品。 9.在实验室内不得储存大量易燃溶剂,用多少领多少。未使用的整瓶试剂须放置在远离光照、热源的地方。 10.接触化学品时必须戴防护镜,穿不露脚趾的满口鞋,长发必须束起。 11.不得将腐蚀性化学品、毒性化学品、有机过氧化物、易自燃品和放射性物质保存在一起,特别是漂白剂、硝酸、高氯酸和过氧化氢。

基本演示汇编语言实验操作方法

基本演示1汇编语言实验操作方法 一.实验的基本方法(MASM宏汇编子目录下) 1.在DEBUG下运行汇编指令或简单小程序 在DEBUG提示符下,用汇编命令A:输入汇编指令或简单小程序,用单步命令T 或全程命令G来执行,并检查执行中间结果与最后结果。 2.标准汇编程序上机方法 A.建立ASM文件,用https://www.doczj.com/doc/ca779003.html,全屏幕编辑文件或其他编辑文件建立扩展名为ASM的源程序. B.用MASM(或ASM)产生扩展名为OBJ目标文件。 C.用LINK产生扩展名为EXE可执行文件。 D.在DEBUG下,把文件调入内存,调试程序。 E.在DOS下可直接执行扩展名为EXE的文件。(详细过程) 二.汇编语言的工作环境. A.硬件环境 IBM-PC及其系列机 内存256K字节以上 外存:硬盘或至少一个软驱 CPU:80586以上 显示器:单色或彩色显示器 键盘:标准ASCII码键盘 B.软件环境 编缉程序:https://www.doczj.com/doc/ca779003.html,或其他编缉程序 汇编程序:MASM.EXE或ASM.EXE 连接程序:LINK.EXE 调试程序:https://www.doczj.com/doc/ca779003.html,或DEBUG.EXE

A命令 在命令A后跟地址,按回车输入程序,可以连续输入,当按下回车后,就退回到DEBUG下。 T命令

T命令为跟踪命令。 G命令 该地址指定了运行的起始地址,如不指定则从当前的cs:ip开始运行EDIT.EXE

怎样生成.exe文件

生成.obj文件

基本演示2DEBUG命令的使用 A.程序调用命令 C>DEBUG[D:][PATH][FILENAME[.EXT]][PARM1][PARM2] 其中,文件名是被调试文件的名字。如未键入文件名。可用DEBUG命令N和L 把需要文件装入存储器后再调试。D指定驱动器,PATH为路径,FILENAME为文件名,PARM为命令参数 B.显示存储单元命令 -D[ADDRESS]或;ADDRESS地址 -D[RANGE];RANGE范围 C.修改存储单元内容命令 -E ADDRESS[LIST] D.检查和修改寄存器内容命令 -R[REGISTER NAME];Register name寄存器名字 E.汇编命令 -A[ADDRESS] F.跟踪命令 -T[=ADDRESS][VALUE];Value变量值 G.运行命令 -G[=ADDRESS][ADDRESS2[ADDRESS3] H.反汇编命令 -U[ADDRESS] -U[RANGE]

汇编实验报告52352019

(此文档为word格式,下载后您可任意编辑修改!) 实验三循环程序设计 一、预习内容 1.多重循环程序和排序程序设计方法。 2.带符号数的比较转移指令:JL,JLE,JG,JGE 二、目的要求 1.掌握多重循环程序和排序程序设计方法。 2.掌握带符号数的比较转移指令:JL,JLE,JG,JGE 三、实验内容 建立学生名次表,以grade为首地址的数组中保存了学生的成绩,其中grade+i 保存学号为i+1的学生的成绩。要求建立一个10个字的rank数组,并根据grade中的学生成绩将学生名次填入rank数组中,其中rank+i的内容是学号为i+1学生的名次(提示:一个学生的名次等于成绩高于该学生的人数加1). 四、程序流程图

五、程序 DSEG SEGMENT grade dw 90,60 rank dw 10 dup(?) DSEG ENDS CSEG SEGMENT assume cs:CSEG, ds:DSEG start: mov ax, dseg mov ds, ax mov di,10 mov bx,0 lea bp,rank l: lea si,grade mov dx,1 mov cx,10 mov ax,[si+bx] next: cmp ax,[si] jge no_count inc dx no_count: add si,2 loop next mov [bp],dx add bp,2 add bx,2 dec di sub di,0 jne l mov ax, 4c00h int 21h CSEG ENDS end start 六、实验结果 JGE情况下的排序结果

汇编实验三:分类统计字符个数

一、实验目的 学习用汇编语言编写设计分支循环程序 二、实验要求 程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其它字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。 三、实验提示 (1)程序可0AH功能调用把键入字符直接送到缓冲区中,然后再逐个取出分类计数。也可01H功能调用在接收字符后先分类计数再存入缓冲区中。 (2)程序需要进入debug运行并查看计数结果。 四、实验程序 datarea segment string db 80 db ? db 80 dup(?);定义字符串string,长度为80 letter db 0 ;定义存储单元letter digit db 0 ;定义存储单元digit other db 0 ;定义存储单元other datarea ends case segment main proc far assume cs:case, ds:datarea start: mov ax, datarea mov ds, ax lea dx, string mov ah, 0ah int 21h lea di, string + 2 ;输入一行字符,依次将每个字符存入字符串string中 sub ch,ch mov cl, string + 1 add dx, 2 check: ;将每个字符进行分类 mov al, [di] cmp al, 0dh

je exit ;字符串以回车符结束,若进行分类的字符是回车符,则跳转至exit,退出程序 cmp al, 30h ;与ASCII码中的0,即30h比较 jb o ;小于30h的,为其他类型字符,则跳转至o,在other块进行操作 cmp al, 39h ;与ASCII码中的9,即39h比较 jna d ;不大于39h的,结合不小于30h的,则跳转至d,在digit块进行操作 ja loro ;剩下的为字母或者其他类型 loro: cmp al, 41h ;与ASCII码中的A,即41h比较 jb o ;小于41h的,结合大于39h的,则跳转至o,在other块进行操作 cmp al, 7ah ;与ASCII码中的z,即7ah比较 ja o ;大于7ah的,则条钻至o,在other块进行操作 cmp al, 5ah ;与ASCII码中的Z,即5ah比较 jna l ;不大于5ah的,结合大于41h的,则跳转至l,在letter块进行操作 cmp al, 61h ;与ASCII码中的a,即61h比较 jnb l ;不小于61h的,结合不大于7ah的,则跳转至l,在letter块进行操作 jb o ;小于61h的,结合大于5ah的,则跳转至o,在other块进行操作 l: inc letter ;属于letter类型,则letter增1 inc di jmp check ;返回继续比较下一个字符 d: inc digit ;属于digit类型,则digit增1 inc di jmp check o: inc other ;属于other类型,则other增1 inc di jmp check exit: ;输出letter,digit,other类型的计数结果 mov ah, 02 mov dl, 0dh int 21h mov dl, 0ah int 21h mov dl, 4ch int 21h mov dl, 3ah int 21h mov dl, 0 int 21h xor ax, ax

汇编语言程序设计实验说明书

汇编语言程序设计实验说明书 实验一 DOS常用命令及8088指令使用 (1) 实验二内存操作数及寻址方法 (4) 实验三数据串传送和查表程序 (6) 实验四屏幕字符显示程序 (8) 实验五条件转移指令 (10) 实验六汇编语言程序上机过程 (13) 实验七分枝程序 (15) 实验八多重循环程序 (17) 实验九子程序 (18) 实验十音乐程序 (21) 实验十一数码转换程序 (23)

实验一 DOS常用命令及8088指令使用 实验目的: 通过实验掌握下列知识: 1、DOS命令: DIR,DEL,RENAME,FORMAT,COPY。 2、8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 3、DEBUG命令: A,D,E,F,H,R,T,U。 4、BCD码,ASCII码及用16进制数表示二进制码的方法。 5、8088寄存器: AX,BX,CX,DX,F,IP。 内容及步骤: 一、DOS常用命令练习: 1、将机房提供的系统盘插入A驱动器中,开机,出现提示符后打入命令FORMAT B:/S。等屏幕上出现提示后将新盘插入B驱动器并打回车。PC机即对新盘格式化并将糸统拷入。 2、打命令 COPY A:*。* B 将糸统盘上全部文件拷到你的盘上。 3、将新盘插到 A驱动器中,用DIR命令查看盘上文件。 4、用命令 COPY DEBUG。COM BUG 复制一个文件。 5、用命令 RENAME BUG BG 将BUG 文件改为BG。 6、用命令 DEL BG 将文件BG删除。 在操作时要注意提示信息,并按提示操作。 二、DEBUG 命令使用: 1、打 DEBUG 进入 DEBUG 控制,显示提示苻 '_ '。 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。 4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存 单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码? 6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH 7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF 和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 三、8088常用指令练习 1、传送指令 1)用A命令在内存100H处键入下列内容: MOV AX,1234 MOV BX,5678 XCHG AX,BX MOV AH,35 MOV AL,48 MOV DX,75AB XCHG AX,DX 2)用U命令检查键入的程序并记录,特别注意左边的机器码。 3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。 2、加减法指令:

微机实验心得体会

微机实验心得体会 【篇一:微机原理实验报告】 一、实验目的 1.掌握qtspim的调试技术 2.了解mips汇编语言与机器语言之间的对应关系 3.掌握mips汇编程序设计 4.了解c语言语句与汇编指令之间的关系 5.熟悉常见的mips汇编指令 6.掌握程序的内存映像 二、实验任务 用汇编程序实现以下伪代码:要求采用移位指令实现乘除法运算。 int main() { int k, y ; int z[50] ; y = 56; for(k=0;k50;k++) z[k] = y - 16 * ( k / 4 + 210) ; } 三、实验要求 1.完成汇编语言程序设计、调试、测试全过程 2.指出用户程序的内存映像,包括代码段和数据段 3.完成软件实验报告 四、实验过程 程序源代码: .data #定义用户数据段 z:.space 200 .text main: la $s0,z #$s0=addrz li $t0,0 #$s1=k=0 li $t1,56 #$s2=y=56 loop: slti $t2,$t0,50 #判断k是否小于50 beq $t2,$0,done #当k大于等于50时跳转 srl $t3,$t0,2 #k/4 addi $t3,$t3,210 #k/4+210

sll $t3,$t3,4 #16*(k/4+210) sub $t3,$t1,$t3 #y-16*(k/4+210) sw $t3,0($s0) #写进z[k] addi $s0,$s0,4 #地址移一位 addi $t0,$t0,1 #k加1 j loop #循环 done: li $v0 10 syscall 五、实验总结 通过这次实验,加深了我对理论学习的代码书写规范的理解,练习 了qtspim软件的使用,对以后的学习有很大的帮助。这次实验的内 容相对比较简单,原理容易理解,编译的过程中遇到了一点困难, 不过在同学的帮助下顺利解决了。 【篇二:微机原理与接口技术实验总结】 微机原理与接口技术实验总结 11107108徐寒黎 一、实验内容以及设计思路 1、①试编写一程序,比较两个字符串string1、 string2 所含字符 是否相同,若相同输出“match”,若不相同输出“no match”。 设计思路:定义一个数据段,在数据段中定义两个字符串作为 string1、 string2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将string1和string2都实现用键盘输入,方法是 mov dx,offset string2 mov ah,0ah 并且显示在显示器上,显示方法将0ah改成09h,语句与上面类似。然后进行比较第一个单元, mov al,[string1+1] cmp al,[string2+1] jnz nomatch 若字符串长度不等,则直接跳转,输出输出“no match”; 若长度相等再逐个比较 lea si,[string1+2] lea di,[string2+2] mov cl,[string1+1]

汇编实验报告一 熟悉7种寻址方式

电子信息工程学系实验报告——适用于计算机课程课程名称:IBM-PC汇编语言程序设计 实验项目名称:熟悉7种寻址方式实验时间: 班级:姓名:学号: 一、实验目的: 掌握debug命令,熟悉7种寻址方式。 二、实验环境: ASM轻松汇编 三、实验内容: 1、上机输入以下程序: data segment x db 01,02 y db ?,? z db ?,? w dw 1234h data ends code segment main proc far assume cs:code,ds:data start: push ds xor ax,ax push ax mov ax,data mov ds,ax mov dx,1234h -----无有效地址 mov cl,ds:[0000h] -----0000h mov si,0000h mov di,0002h mov al,[si] ----0000h mov [di],al ----无有效地址 add si,1 add di,1 mov al,[si] mov [di],al mov si,0000h mov di,0000h mov al,x[si] mov y[di],al 成绩: 指导教师(签名):

add si,1 add di,1 mov al,x[si] -----0001h mov y[di],al mov si,0000h mov di,0000h mov bx,0000h mov bp,0004h mov al,[bx][si] ----0000h mov ds:[bp][di],al add si,1 add di,1 mov al,[bx][si] mov ds:[bp][di],al ret main endp code ends end start 2、写出上面汇编程序中字体为红色的指令的源操作数的寻址方式以及源操作数的有效地址。 指令寻址方式有效地址mov dx,1234h立即寻址方式无有效地址mov cl,ds:[0000h]直接寻址方式0000h mov al,[si]寄存器间接寻址方式0000h mov [di],al寄存器寻址方式无有效地址 mov al,x[si] 寄存器相对寻址方式0001h mov al,[bx][si]基址变址寻址方式0000h 画图说明数据段中变量所分配的存储空间及初始化的数据值。 14F2:0000 0001 0002 0003 0004 0005 0006 0007 01 02 01 02 00 00 34 12

汇编实验报告

XXXX大学 实验报告 课程名称汇编语言程序设计成 绩 实验学时 评语: 指导教师: 年月日 班级: 学号: 姓名: 地点: 时间:

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验内容 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完 成必要提示信息的显示。 2. 在屏幕上显示自己的学号姓名信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输 入”Q”或“q”时结束。 4. 实验中使用的DOS功能调用: INT 21H AH 值功能调用参数结果 1 键盘输入并回显AL=输出字符 2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面 6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面 8 从键盘上读一个字符AL=字符的ASCII码 光标跟在串后面 9 显示字符串DS:DX=串地址, ‘$’为结束字符 4CH 返回DOS系统AL=返回码 例如,实现键盘输入并回显的完整代码: MOV AH 01H INT 21H 三、实验结果 1. 将指定数据区的字符串数据”Let us go !”以ASCII码形式显示在屏幕上,并通过 DOS功能调用完成必要提示信息的显示: 2. 在屏幕上显示自己的学号姓名信息 3.循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输 入”Q”或“q”时结束。

四、实验原理 DATA SEGMENT MES DB 'NUMBER: 03099018 ',0AH,0DH,'NAME: Feng Xiaokang',0AH,0DH,'$' CENT DB 'Let us go !','$' ENTE DB 0AH,0DH,'$' INFO DB 'Origin: ','$' ASCI DB 'ASCII : ','$' MSG1 DB 'If you want to quit please press...q/Q...',0AH,0DH,'$' MSG2 DB 0AH,0DH,'Char: $' RS DB ' ASCII: $' SD DB '' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;存储数据 MOV DS,AX MOV DX,OFFSET MES ;显示数据 MOV AH,09H INT 21H MOV DX,OFFSET MSG1 MOV AH,09H INT 21H MOV DX, OFFSET CENT MOV SI, DX T: MOV AL,[SI] CMP AL,'$' JZ C1 AND AL,0F0H ;取高4位 MOV CL,4 SHR AL,CL CMP AL,0AH ;是否是A以上的数 JB A ADD AL,07H A: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H

重庆大学汇编实验报告3

《汇编语言程序设计》实验报告 年级、专业、班级姓名 实验题目实验3:汇编程序的循环结构的使用 实验时间2013年4月15 实验地点DS1421 实验成绩实验性质□验证性 设计性□综合性教师评价: □算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;□实验结果正确;□语法、语义正确;□报告规范; 其他: 评价教师签名: 一、实验目的 通过一个排序算法,来熟悉和掌握利用汇编语言实现循环处理能力的程序。 二、实验项目内容 1 编写一个整数数组内的元素排序的程序 2 需要排序数组大小为10个DW的整数 3 按照从低到高输出这10个数字 4 要求撰写必要程序模块设计图和主要的流程 三、实验过程或算法(源程序) assume cs:code,ds:data data segment dw 1234h,2a45h,345bh,45c7h,5678h,4321h,5432h,6543h,7654h,0d765h table db '0123456789abcde' data ends stack segment db 32 dup(0) stack ends code segment start: mov ax,data mov ds,ax

mov di,0 mov ax,stack mov ss,ax mov sp,32 mov cx,9 s0: mov ax,ds:[si] push cx s1: add si,2 cmp ax,ds:[si] jb change s2: loop s1 xchg ax,ds:[si] xchg ax,ds:[di] mov si,0 mov di,0 pop cx loop s0 mov ax,data mov ds,ax mov si,0 call show mov ax,4c00h int 21h change: mov ax,ds:[si] mov di,si jmp s2 show: push es push di push ax push bx push cx push dx mov ax,0b800h mov es,ax mov di,160*12+2*10 mov cx,10 show1: push cx

程序汇编实验举例及总结

一、实验内容 1?在屏幕上显示一个字符的源程序: DATASSEGMENT STRINGS 'HELLO!;'$' ORG 100H DATASENDS C0DES5EGMENT ASSUMECS:CODES,DS:DATAS START MOV AX,DATAS MOV DS,AX LEADX,STRING MOV AH,09H INT 21H MOV AH,4CH INT 21H CODESENDS ENDSTART 01DATfiS SEGMENT 62STRING DB * HELLO!' /S' 03ORG 1O0H 仙DATAS ENDS CODES SEGMENT Q6ASSUME CS:CODES.DS:DATAS 07START: 朋MOU AK.DATAS 09MOU DS,AX 10LEA DX, STR ING 11MOV AH,@9H 12INT 21H 13MOU AH,UCH 1U I NT 21H 15 16CODES ENDS END STfiUT H DOSBox 074, Cpu speed: HELLU! Pre&s araj Jccy to contilKic 2.编写一个程序,实现字符串的复制功能,并且将复制的字符串显示出来 DATASSEGMENT STRING_ADB 'ICH LIEBE DIC障 COUNTEQU&OFFSEETRING—A

DATASENDS STACK S EGMENT STRING_BDB COUNTDUP(?) STACKSENDS CODESSEGMENT ASSUMECS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX MOV AX,STACKS MOV ES,AX LEASI,STRING_A LEADI,STRING_B MOV CX,COUNT STD REP MOVSB LEADX,STRING_B MOV AH,9 INT 21H MOV AH,4CH INT 21H MOV AH,4CH INT 21H CODESENDS ENDSTART

汇编实验报告

汇编语言程序设计 实验报告 学号:100511530 班级:电气信息类1005 姓名:陆淑琴 指导老师:李诗高

实验一、汇编语言上机的基本过程及环境 【实验目的】 (1)熟悉汇编语言的编辑、汇编、连接及调试的全过程,重点掌握使用DEBUG调试程序的方法。 (2)了解汇编语言的程序结构。 【实验内容】 (1)在数据段中定义两个数(数据自拟,包含有正数和负数),要求编写程序分别计算出这两个数的和、差、积、商,并用Debug的相关命令查询计算结果(包括对CF,OF,SF,ZF的影响)。 (2)首先对AX,BX,CX寄存器赋初值(数据自拟),再将AX寄存器的中间八位,BX的低四位和CX的高四位拼接成一个新的字,并把结果存入偏移地址为0000H的存储单元。其中BX的低四位作为结果字的高四位,CX的高四位作为结果字的低四位。并用Debug的相关命令查询内存单元的结果字。 源代码: DA TA SEGMENT val1 DW 1000h val2 DW 2000h maxv DW ? DA TA ENDS STACK SEGMENT STACK 'STACK'

DB 100H DUP(?) STACK ENDS CODE SEGMENT 'CODE' ASSUME CS:CODE, DS:DATA,SS:STACK .386 MAIN: MOV AX, DATA; MOV DS, AX PUSH val1 PUSH val2 CALL MAX ; POP maxv ;栈顶返回值出栈 MOV AX, 4c00H INT 21H MAX PROC PUSH BP ;执行该指令前堆栈情况 MOV BP, SP ;执行后堆栈情况 MOV AX, [BP+4] CMP AX, [BP+6] JA EXIT MOV AX, [BP+6] EXIT: MOV [BP+6], AX ;用栈顶返回值 POP BP RET 2 ;执行后堆栈情况 MAX ENDP CODE ENDS END MAIN 【实验步骤】 (1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。 (2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。(扩展名为OBJ) (3)用连接程序LINK连接目标代码文件,形成可执行文件。(扩展名为EXE)(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。

汇编器实验报告doc

汇编器实验报告 篇一:汇编实验报告 实验一(1)熟悉汇编语言程序调试环境及顺序程序设计 一、实验目的及要求: 1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。 2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。 3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。 二、熟悉汇编语言程序调试环境 1.汇编语言源程序的建立 本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。设定源程序的文件名为ABC。 DATA SEGMENT BUFDB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FH CN EQU $-BUF DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS

XOR AX,AX PUSH AX MOVAX,DATA MOV DS,AX MOV BX,OFFSET BUF MOV CX,CN DEC CX MOV AL,[BX] INC BX LP:CMP AL,[BX] JBE NEXT MOV AL,[BX] NEXT: INC BX DEC CX JNZ LP MOV AH,4CH INT 21H CODE ENDS END START 键入以下命令: C:\>EDIT ABC.ASM 此时屏幕的显示状态如图1所示。

1 图1 用EDIT编辑ABC.ASM程序窗口 程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。 2.将源程序文件汇编成目标程序文件 一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。 (2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。 (3)若程序中使用了宏指令,则汇编程序将展开宏指令。 源程序建立以后,在DOS状态下,采用宏汇编程序MASM 对源程序文件进行汇编,其操作过程如图2所示。 图2 MASM宏汇编程序工作窗口 汇编过程的错误分警告错误(Warning Errors)和严重错误(Severe Errors)两种。其中警告错误是指汇编程序认为的一般性错误;严重错误是指汇编程序认为无法进行正确汇编的错误,并给出错误的个数、错误的性质。这时,就要对错误进行分析,找出原因和问题,然后再调用屏幕编辑程序加以修改,修改以后再重新汇编,一直到汇编无错误为止。 3.用连接程序生成可执行程序文件

实验指导说明书

实验一 Windows环境下常用网络命令的使用 实验性质:验证性实验级别:必做 开课单位:信息与通信工程学院通信工程系学时:2学时 一、实验目的: 1、掌握常用网络命令的使用方法。 2、掌握Ipconfig.exe,Net.exe,Ping.exe,Netstat.exe, Arp.exe, Route.exe Ftp.exe,Telnet.exe, Tracert.exe命令的使用方法。 二、实验器材: Windows操作系统个人电脑。 三、实验内容: 1、使用常用网络命令。 2、每种命令的工作原理。 四、实验步骤: 1、ipconfig[-all] 显示所有当前的TCP/IP网络配置、刷新动态主机配置协议(DHCP)和域名系统(DNS)设置。使用不带任何参数的命令可以显示所有适配器的IP地址、子网掩码、默认网关。 使用-all参数可以查看很多关于适配器的信息。 2、许多 Windows 2000 网络命令都以词 net 开头。这些 net 命令有一些公用属性: 键入 net /? 可以看到所有可用的 net 命令的列表。 键入 net help command,可以在命令行获得 net 命令的语法帮助。例如,关于 net accounts 命令的帮助信息,请键入 net help accounts。 所有 net 命令都接受 /yes 和 /no 选项(可以缩写为 /y 和 /n)。/y 选项向命令产生的任何交互式提示自动回答“是”,而 /n 回答“否”。例如,net stop server 通常提示您确认要停止基于“服务器”服务的所有服务;而 net stop server /y 对该提示自动回答“是”,然后“服务器”服务关闭。 (1)net user 用来查看所有的用户帐户

实验说明书

实验说明书 题目:(车模)组合生产线布置模式选择与平面布置 姓名:付朋远任娟陈莹莹任茹雪 学号:44120515 44120528 44120535 44120536 班级: 441205班 指导教师:孙宝凤 吉林大学交通学院 二〇一五年八月

一、实验目的 (1)学习多品种混流装配生产的组织与计划方法; (2)学习使用电子看板系统; (3)对比实验,分析产量、节拍、工位数等变量对生产线平衡效率的影响,比较不同生产线布置模式下的生产效率,确定出最优的生产线布置模式。 二、实验资源 1.实验设备 1)总控制台(包括看板):总控制台是本次实验中最重要的部分,负责控制整个实验的进程。生产线运行之前,需要在控制台进行以下工作: ①产品BOM表的输入:将本实验两种车型所需零件输入电脑。 ②工序的输入:分别输入组装魔幻战蝠、B800的工序,同时要注明每道工序所需材料的种类、个数时间,并上传操作过程的示意图片(见附件1)。 ③生产线的平衡:根据魔幻战蝠和防爆特警B800的作业流程图和各工序作业时间,手动分配各工作站负责的工序。 ④发布任务,任务会下达至每个工位站的看板,点击执行,生产线开始运行生产。 2)传送带:负责传递各个工位站完成的半成品,节拍可以根据各工位实际操作时间而定,但需要以最长的时间为标准,并在此基础上增加一段容错时间。 3)操作台:各工位的任务均在操作台上完成。 4)物料盒:本次实验物料盒为3层,每层平均分为九个小格,用于各工位物料的存放。 5)魔幻战蝠和防爆特警B800:本次实验的两种车模。 2.实验设施 本次实验均在实验室进行,实验室布局如图1:

图1 实验室平面布置图 实验室分为生产区,物料供应区和办公区(非实验区)。 3.人员分工 由于本次实验需要控制单一变量,三种类型实验工位数目有所差异,故所需人员数不是定值。在研究产量对生产线平衡效率的影响和研究变节拍生产对生产平衡效率的影响时,实验工位数目为5,故只需要5个装配操作员;而在研究工位数对生产平衡效率的影响时,需要将装配生产分配到到10个工位,此时需要10个装配操作员。而此次实验需要生产调度、配料等工作,实际生产现场人员分工见表1: 表1 人员分工表 三、实验原则 本次实验分析产量、节拍、工位数等变量对生产线平衡效率的影响,采用控制变量的原则,比较不同生产线布置模式下的生产效率,确定出最优的生产线布置模式。 根据魔幻战蝠和防爆特警B800的作业流程图和各工序作业时间,将5工位定节拍生产3辆魔幻战蝠、3辆防爆特警B800的实验定为对照组。分析产量对生产

相关主题
文本预览
相关文档 最新文档