ǰλãҳ > 微机计算机原理及应用大连理工出版社答?- 百度文库
MOV DLAL AND DL0FH AND AL0F0H MOV CL4 SHR ALCL MOV BL10 MUL BL ADD ALDL
11֪XΪֵַԪеΪ1234H5678HYΪֵַԪ Ϊ8765H4321HijִкDX=_DDDDH___AX=__1___ LEA SIX LEA DIY MOV DX[SI+2] ADD DX[DI] CMP DX[DI+2] JL L1 MOV AXY JMP EXIT L1 MOV AX1
EXIT
12ʲôͷʽʲôͷʽ
䷽ʽָݹУͣһѯж϶Է״ֱ̬/IN/OUTָݴ䡣䷽ʽҲΪѯ䷽ʽʹַʽCPU϶ȡ״̬账ڡá״̬豸С״̬豸CPUִָָ轻Ϣ 塢
1дһڴԼҪǽ55HдҪڴ98000H9FFFFHÿһԪȻԪ55HȽϡȫԣĻʾMemory OKֻҪκһԪʾMemory ERRORԱʵڴԼ칦ܡ ʵַ֮һ
DATA SEGMENT AT 9800H
BUF DB 8000H DUP(?) CNT EQU $-BUF BUFD EQU 55H
DIS1 DB Memory OK OAH,ODH,$
DIS2 DB Memory ERROR,OAH,ODH,$ DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX LEA DI,BUF MOV CX,CNT PUSH CX
MOV AL,BUFD CLD
REP STOSB POP CX
LEA SI,BUFD L1: LODSB
CMP AL,BUFD LOOPZ L1 JZ G
LEA DX,DIS2 MOV AH,09H INT 21H JMP E
G: LEA DX,DIS1 MOV AH,09H INT 21H
E: MOV AH,4CH INT 21H CODEENDS
END START
2BUFFERʼĵԪ100ŵֽݣдһеĸֱͳƳֱPLUSMINUSZEROĵԪС
DATA SEGMENT
BUFFER DB 34H,0,45,-45,0,45,-34,-66,;100 CNT EQU 100
PLUS DB 100 DUP(?) MINUS DB 100 DUP(?) ZERO DB 100 DUP (?) DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX MOV CX,100
LEA SI,BUFFER LEA DI,PLUS LEA BX,MINUS LEA BP,ZERO CLD
L: LODSB
TEST AL,80H JS M
CMP AL,O JNZ P
XCHG DI,BP STOSB
XCHG DI,BP JMP E
M: XCHG DI,BX STOSB
XCHG DI,BX JMP E P: STOSB E: DEC CX JNZ L
MOV AH,4CH INT 21H CODE ENDS
ENDS START
3AXĴ4ѹBCD룬Աд4ֱַֿBHBLCHCLĴС
code segment assume cs:code startMOV AX9876H MOV BLAHBL=98H AND BLOFH BL=08H SHR AH1 SHR AH1 SHR AH1
SHR AH1 ĴΣAH=09H MOV BHAH BH=09H MOV CLAL CL=76H AND CLOFH CL=06H SHR AL1
SHR AL1 SHR AL1
SHR AL1ĴΣAL=07H MOV CHAL CH=07H mov ah4ch int 21h code ends end start
4дͳƼĴBXжλ1ĸALС
code segment assume cscode startmov BX1234 mov bl0ͳ1ĸ mov cx16ѭ
loop1test ax8000hϵƣ8000hȽϻȡ1ĸ jnz loop2 inc bl shl ax1 loop2loop loop1 mov albl mov ah4ch int 21h code ends end start
5 дʵֽһַ룬Ļöʽ0/1ʾASCII ֵ
code segment
assume cscodedsdata startmov ah07h int 21h mov cx8 againrol al1 mov blal and al1h add al30h mov dlal
92ƪĵ