微机原理程序代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理大作业题目及程序代码

1、将AX寄存器中16位数分成4组,每组四位,然后把这四位数分

别放在AL、BL、CL和DL中。

code segment

assume cs:code

start: mov ax,1234h;测试数据

mov cl,4

mov dx,ax

and dl,0fh

and dh,0fh

mov bl,dh

mov bh,al

ror bh,cl

and bh,0fh

mov ch,bh

ror ah,cl

and ah,0fh

mov al,ah

mov cl,ch

mov ah,4ch

int 21h

code ends

end start

1、试编写一程序,要求比较两个字符串STRING1和STRING2所

含字符是否相同,若相同则显示“MATCH”,若不相同则显示“NOMATCH”。

DATA SEGMENT

STRING1 DB 'HELLO.'

C1 EQU $-STRING1

STRING2 DB 'HELLO!'

C2 EQU $-STRING2

S1 DB 'MATCH$'

S2 DB 'NOMATCH$'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV SI,C1

CMP SI,C2

JNZ N_M

MOV BX,0

L1: MOV AL,STRING1[BX]

CMP AL,STRING2[BX]

JNZ N_M

INC BX

DEC SI

JNZ L1

MOV DX,OFFSET S1

JMP EXIT

N_M: MOV DX,OFFSET S2

EXIT: MOV AH,9

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

2、试编写一程序,要求能从键盘接收一个个位数N,然后响铃N

次。

CODE SEGMENT

ASSUME CS:CODE

START: ;MOV DL,7

;MOV AH,2

;INT 21H

MOV AH,1

INT 21H

CMP AL,30H

JBE EXIT

CMP AL,39H

JA EXIT

SUB AL,30H

MOV CL,AL

L1: MOV DL,07H

MOV AH,2

INT 21H

MOV BX,1FFFH;延时L3: MOV DX,0FFFFH

L2: DEC DX

JNZ L2

DEC BX

JNZ L3

DEC CL

JNZ L1

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

3、编写程序,将一个包含有20个数据的数组M分成两个数组:

正数数组P和负数数组N,并分别把这两个数组中数据的个数显示出来。

DATA SEGMENT

M DB 1,2,3,4,5,6,7,8,9,89,-1,-2

DB -3,-4,-5,-6,-7,-8,-9,0

P DB 20 DUP(?)

N DB 20 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV CX,20

MOV SI,0

MOV DI,0

MOV BX,OFFSET M

L: MOV AL,[BX]

CMP AL,0

JGE POS

MOV N[DI],AL

JMP L1 POS: JZ L1

MOV P[SI],AL

INC SI

L1: INC BX

LOOP L

MOV BX,SI

CALL DISP

MOV DL,0DH

MOV AH,2

INT 21H

MOV DL,0AH

MOV AH,2

INT 21H

MOV BX,DI

CALL DISP

MOV AH,4CH

INT 21H DISP PROC

MOV AX,BX

MOV CL,10

PUSH AX

MOV DL,AL

ADD DL,30H

MOV AH,2

INT 21H

POP AX

MOV DL,AH

ADD DL,30H

MOV AH,2

INT 21H

RET

DISP ENDP

CODE ENDS

END START

4、数据段中已定义了一个有n个字数据的数组M,试编写一程

序求出M中绝对值最大的数,把它放在数据段M+2n单元中,并将该数的偏移地址存放在M+2(n+1)单元中。

DATA SEGMENT

M DW 1,2,3,-4,-55,-6,7,-8

COUNT EQU $-M

DW 2 DUP(?)

相关文档
最新文档