| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1158 人关注过本帖
标题:[原创]汇编语言程序设计实践考试的部分试题答案
只看楼主 加入收藏
qilindh
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-10-7
收藏
 问题点数:0 回复次数:6 
[原创]汇编语言程序设计实践考试的部分试题答案


以下程序代码均为原创,且调试通过。因为实践仓促,程序结构不一定合理,欢迎讨论!
在内存String1 String2处分别存放两个字符串,试编写汇编语言程序对二串进行比较,若相同输出“MATCH”,若不同显示“NO MATCH”。要求在程序中,用串比较指令实现二个字符串的比较
;**************************************************************

EXTRA SEGMENT PARA 'EXTRA'

STRING2 DB 'ABCDEFRHIA','$';定义目标串,默认比较10个字符

EXTRA ENDS

;**************************************************************

DATA SEGMENT PARA 'DATA'

STRING1 DB 'ABCDEFRHIJ','$';定义源串,默认比较10个字符

MESSAGE1 DB 'MATCH!','$'

MESSAGE2 DB 'No MATCH!','$'

MESSAGE3 DB 0ah,'This masm program made by qizhaolin,thanks!','$'

DATA ENDS

;**************************************************************

CODE SEGMENT PARA 'CODE'

ASSUME CS:CODE,DS:DATA,ES:EXTRA

MAIN PROC FAR;主过程

START:

MOV AX,DATA;段初始化

MOV DS,AX

MOV AX,EXTRA

MOV ES,AX

MOV BX,00H

LEA SI,STRING1;源串有效地址传送

LEA DI,STRING2;目标串有效地址传送

MOV CX,0BH;计数器初始化

CLD

REPE CMPSB

CMP CX,BX;比较CX和0,相同则说明两个串相同

JZ A ;两个串相同跳转到A,否则向下执行

MOV AX,DATA;串段地址入DS

MOV DS,AX

LEA DX,MESSAGE2;串偏移地址入DX

MOV AH,09H;DOS调用,输出信息

INT 21H

JMP B;无条件跳转到B

A: MOV AX,DATA

MOV DS,AX

LEA DX,MESSAGE1

MOV AH,09H

INT 21H

B: lea dx,MESSAGE3;输出信息

mov ah,09h

int 21h

MOV AH,01

INT 21H

;**************************************************************

MOV AH,4CH

INT 21H

MAIN ENDP

CODE ENDS

END START


搜索更多相关主题的帖子: 程序设计 试题 汇编语言 考试 实践 
2007-08-25 10:34
qilindh
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-10-7
收藏
得分:0 

编写一个管理软件,可以接受十个键盘命令分别为 A,B,C......J,根据键入的命令(A~J)分别转向PROCA,PROCB,......,PROCJ标号处执行,PROCA~ PROCJ程序功能分别显示‘a’~‘j’字符。要求用地址表完成上述功能的多路分支程序的设计。
;**************************************************************

DATA SEGMENT PARA 'DATA'
TAB DW PROCA,PROCB,PROCC,PROCD,PROCE,PROCF,PROCG,PROCH,PROCI,PROCJ
MESSAGE DB 'PLEASE PUSH Z BREAK',0DH,0AH,'$'
MESSAGE2 DB 0ah,'This masm program made by qizhaolin,thanks!','$'

DATA ENDS
;**************************************************************

CODE SEGMENT PARA 'CODE'
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX
;**************************************************************

LEA DX,MESSAGE
MOV AH,09H
INT 21H


KAISHI:
STA: MOV AH,01H
INT 21H
MOV BL,'A'
MOV CL,'J'
;;;;;;;;;;;;;;;;;;;
MOV DL,AL;判断是否结束循环
CMP DL,'Z'
JZ AENDD
;;;;;;;;;;;;;;;;;;
CMP AL,BL
JNB ONE
JMP STA
ONE: CMP AL,CL
JB TWO
JMP STA
TWO:SUB AL,41H
CBW
ADD AX,AX
MOV SI,AX
MOV BX,TAB[SI]
JMP BX
PROCA: MOV DL,'a'
MOV AH,02H
INT 21H
JMP KAISHI
PROCB: MOV DL,'b'
MOV AH,02H
INT 21H
JMP KAISHI
PROCC: MOV DL,'c'
MOV AH,02H
INT 21H
JMP KAISHI
PROCD: MOV DL,'d'
MOV AH,02H
INT 21H
JMP KAISHI
PROCE: MOV DL,'e'
MOV AH,02H
INT 21H
JMP KAISHI
PROCF: MOV DL,'f'
MOV AH,02H
INT 21H
JMP KAISHI
PROCG: MOV DL,'g'
MOV AH,02H
INT 21H
JMP KAISHI
PROCH:MOV DL,'h'
MOV AH,02H
INT 21H
JMP KAISHI
PROCI: MOV DL,'i'
MOV AH,02H
INT 21H
JMP KAISHI
PROCJ:MOV DL,'j'
MOV AH,02H
INT 21H
JMP KAISHI
AENDD:
LEA DX,MESSAGE2
MOV AH,09H
INT 21H

;**************************************************************
MOV AH,4CH ;DOS function call
INT 21H ;Return to DOS
MAIN ENDP
CODE ENDS
END START

2007-08-25 10:34
qilindh
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-10-7
收藏
得分:0 

在以BLOCK为首地址的数据区存放100个无符号字节数,根据用户的输入的 一个2位十进制数,作为查找对象,在该数组中查找,若找到则显示‘Y’,若没有找到则显示‘N’。
DATAS SEGMENT

BLOCK Db 01,12,16,04,05,16,23,47,74,12,36,89,41,74,54,56,21,14,17,19

Db 47,74,12,36,89,41,74,54,56,21,14,17,01,12,16,04,05,16,23,47

Db 75,74,12,63,89,87,74,10,56,41,14,17,01,12,28,04,05,49,23,47

Db 12,36,89,41,74,54,56,21,14,17,19,74,12,36,89,41,74,45,79,25

Db 12,63,89,87,74,54,56,21,14,17,19,74,12,36,17,01,12,16,04,05

MESSAGE DB 0ah,'This masm program made by qizhaolin,thanks!','$'

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS

START:

MOV AX,DATAS

MOV DS,AX

MOV AH,01H

INT 21H

SUB AL,30H

MOV BH,AL;bh十位

MOV AH,01H

INT 21H

SUB AL,30H

MOV BL,AL;BL个位

MOV AL,BH;高位乘10进DX

MOV CL,10

MUL CL

MOV DX,AX

MOV AL,BL;和低位数字相加

ADD DX,AX

MOV CX,65H;开始比较

MOV DI,0

BIJIAO:CMP DL,BLOCK[DI]

JZ NEXT

ADD DI,1

DEC CX

LOOP BIJIAO

MOV DL,'N'

JMP CHULI

NEXT: MOV DL,'Y'

CHULI: MOV AH,02H

INT 21H

LEA DX,MESSAGE

MOV AH,09H

INT 21H

MOV AH,01H

INT 21H

MOV AH,4CH

INT 21H

CODES ENDS

END START

2007-08-25 10:35
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:0 
编程中国原创计划及声明
  • 严肃性
    不求文章要写的多么经典,但一定要是自己的原创。求助、转载、广告等其他类型帖子冒充原创者,视用户等级禁言一段时间或封ID。

  • 本站首发
    原创帖必须是本站首发,在其他站点发布以后在本论坛发布的,我们拒绝承认为原创,一律视为转载。

  • 鼓励原创
    原创帖在发布以后,管理员通过网上划词搜索辨别是否为原创,如确定为原创,只要文章不是过于简陋就会推荐为本版精华,优秀的同时收录至本站技术教程频道。

畅所欲言
2007-08-25 11:33
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:0 

畅所欲言
2007-08-25 11:33
抗议
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-8-25
收藏
得分:0 


[此贴子已经被作者于2007-8-25 21:07:13编辑过]

2007-08-25 13:43
抗议
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-8-25
收藏
得分:0 


[此贴子已经被作者于2007-8-25 21:07:30编辑过]

2007-08-25 14:29
快速回复:[原创]汇编语言程序设计实践考试的部分试题答案
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036821 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved