华电保定微机原理汇编实验.doc





《华电保定微机原理汇编实验.doc》由会员分享,可在线阅读,更多相关《华电保定微机原理汇编实验.doc(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 实验一 、数据块传送1. 将数据段中2000H单元开始存放的10个数(8位数)传送到3000H开始的10个字节中。源程序:DATAS SEGMENT;此处输入数据段代码 ORG 2000H DATA1 DB 1,2,3,4,5,6,7,8,9,10ORG 3000H DATA2 DB 10 DUP(0)DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV SI,2000HMOV DI
2、,3000HMOV CX,10NEXT:MOV AL,SIMOV DI,ALINC SIINC DIDEC CX JNZ NEXT MOV AH,4CH INT 21HCODES ENDSENDSTART运行结果:2. 将数据段中2000H单元开始存放的10个数(16位数)传送到3000H开始的10个字中。源程序:DATAS SEGMENT;此处输入数据段代码 ORG 2000H DATA1 DW 1,2,3,4,5,6,7,8,9,10ORG 3000H DATA2 DW 10 DUP(0) DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES
3、 SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV SI,2000HMOV DI,3000HMOV CX,10NEXT:MOV AX,SIMOV DI,AXADD SI,2ADD DI,2DEC CX JNZ NEXT MOV AH,4CH INT 21HCODES ENDSENDSTART运行后:3. 将数据DATA1中的10个字节数据传送到数据段DATA2中源数据:DATAS SEGMENT;此处输入数据段代码 DATA1 DB 1,2,3,4,5,6,7,8,9,10ORG
4、1000H DATA2 DB 10 DUP(0)DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA SI,DATA1LEA DI,DATA2MOV CX,10NEXT:MOV AL,SIMOV DI,ALINC SIINC DIDEC CX JNZ NEXTMOV AH,4CH INT 21HCODES ENDSENDSTART初始值:运行后:4. 将数据段中2000H开始的20个数
5、据传送到2010H开始的20个单元中。源程序:DATAS SEGMENT;此处输入数据段代码 ORG 2000H DATA1 DB 5 DUP(1,2,3,4,5,6) DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV SI,2000HMOV DI,2100HMOV CX,20NEXT1:MOV AL,SIMOV DI,ALINC SIINC DIDEC CX JNZ NEXT1M
6、OV SI,2100HMOV DI,2010HMOV CX,20NEXT2:MOV AL,SIMOV DI,ALINC SIINC DIDEC CX JNZ NEXT2 MOV AH,4CH INT 21HCODES ENDSENDSTART运行结果:实验二 查表实验目的:熟悉实验环境;熟练掌握查表程序1. 已知015的平方值表,查表求X的平方值,送到Y单元,用两种方法DATAS SEGMENT;此处输入数据段代码 TABLE DB0, 1,4,9,16,25,36,49,64,81,100,121,144,169,196,255 X DB 3 Y DB 0DATAS ENDSSTACKS S
7、EGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA BX,TABLE MOV AL,XMOV AH,0ADD BX,AXMOV AL,BXMOV Y,ALMOV AH,4CH INT 21HCODES ENDSENDSTART运行结果:方法二:源程序:DATAS SEGMENT;此处输入数据段代码 TABLE DB0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,255 X D
8、B 3 Y DB 0DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA BX,TABLE MOV AL,XXLATMOV Y,ALMOV AH,4CH INT 21HCODES ENDSENDSTART运行结果2. 2已知0255的平方值表,查表求X的平方值,送到Y单元源程序DATAS SEGMENT;此处输入数据段代码 TABLE DW 0,1,4,9,16,25,250 DUP(
9、0) X DW 3 Y DW?DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA SI,TABLEMOV AX,XADD AX,AXADD BX,AXMOV AX,BXMOV Y,AXMOV AH,4CH INT 21HCODES ENDSENDSTART运行结果实验三、计算1. 计算1234F000H+98765000H的和源程序:DATAS SEGMENT;此处输入数据段代码 D
10、ATA1 DD 1234F000H DATA2 DD 98765000HDATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA SI,DATA1LEA DI,DATA2MOV AX,SIADD AX,DIMOV SI,AXMOV AX,SI+2ADC AX,DI+2MOV SI+2,AXMOV AH,4CH INT 21HCODES ENDSENDSTART运行结果2. 计算8字节数据6
11、7788H与 99AABBCCDDEEFF00H的和源程序:DATAS SEGMENT;此处输入数据段代码 DATA1 DQ 67788H DATA2 DQ 99AABBCCDDEEFF00HDATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA SI,DATA1LEA DI,DATA2MOV CX,4 CLCNEXT:MOV AX,SIADC AX,DIMOV SI,AXADD SI,
12、2ADD DI,2DEC CX JNZ NEXTMOV AH,4CH INT 21HCODES ENDSENDSTART运行结果3. 计算8字节的BCD码十进制数67788H与43322H的和源程序:DATAS SEGMENT;此处输入数据段代码 DATA1 DB 88H,77H,66H,55H,44H,33H,22H,11H DATA2 DB 22H,33H,44H,55H,66H,77H,88H,99HDATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTA
13、RT:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA SI,DATA1LEA DI,DATA2 CLCMOV CX,8NEXT:MOV AL,SIADC AL,DIDAAMOV SI,ALINC SIINC DIDEC CX JNZ NEXTMOV AH,4CH INT 21HCODES ENDSENDSTART运行结果4. 计算10个字节数据的和(数据自己定义)源程序:DATAS SEGMENT;此处输入数据段代码 DATA1 DB 1,2,3,4,5,6,7,8,9,10 SUM DB 0 DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACK
14、S ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA SI,DATA1LEA DI,SUMMOV CX,10 CLCNEXT:MOV AL,SIADC SUM,ALADD SI,1DEC CX JNZ NEXTMOV AH,4CH INT 21HCODES ENDSENDSTART运行结果5. 计算10个字数据的和(数据自己定义)源程序:DATAS SEGMENT;此处输入数据段代码 DATA1 DW 1,2,3,4,5,6,7,8,9,10 SUM DW 0
15、DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA SI,DATA1LEA DI,SUMMOV CX,10 CLCNEXT:MOV AX,SIADC SUM,AXADD SI,2DEC CX JNZ NEXTMOV AH,4CH INT 21HCODES ENDSENDSTART运行结果实验四、计算表达式的值1. 计算表达式的值,已知X=10,Y=5。DATAS SEGMENT;此处
16、输入数据段代码 X DB 10 Y DB 5 Z DB?DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV AL,XSUB AL,YMOV BL,7MUL BL CBWMOV BL,YADD BL,2IDIV BLMOV Z,ALMOV AH,4CH INT 21HCODES ENDSENDSTART实验五、找最大、最小数1. 找出2040H单元和2041H单元的大数,送2042H单
17、元(数据自己定义)DATAS SEGMENT;此处输入数据段代码 ORG 2040H DATA1 DB 11 DATA2 DB 12 DATA3 DB?DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码MOV AL,DATA1CMP AL,DATA2 JG GREATMOV AL,DATA2GREAT:MOV DATA3,AL MOV AH,4CH INT 21HCODES ENDSEND
18、START2. 找出10个数(8位数)里的最大数(数据自己定义)DATAS SEGMENT;此处输入数据段代码 DATA DB 1,2,3,6,5,4,10,9,8,7 MAX DB?DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA BX,DATAMOV CX,9MOV AL,BXNEXT:INC BXCMP AL,BX JG GREATMOV AL,BXGREAT:MOV MAX
19、,ALDEC CX JNZ NEXTMOV AH,4CH INT 21HCODES ENDSENDSTART3. 找出10个数(8位数)里的最小数(数据自己定义)DATAS SEGMENT;此处输入数据段代码 DATA DB 3,2,1,6,5,4,10,9,8,7 MIN DB?DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码LEA BX,DATAMOV CX,9MOV AL,BXNE
20、XT:INC BXCMP AL,BX JL LESSMOV AL,BXLESS:MOV MIN,ALDEC CX JNZ NEXTMOV AH,4CH INT 21HCODES ENDSENDSTART4. 找出10个数(16位数)里的最大数(数据自己定义)DATAS SEGMENT;此处输入数据段代码 DATA DW 3,2,1,6,5,4,10,9,8,7 MAX DW?DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 保定 微机 原理 汇编 实验

限制150内