1、教案中的例题的代码= 0_0.asm =data segmentdata endscode segment assume CS:code, DS:datamain proc far MOV AX, data MOV DS, AX ; . MOV AH, 4CH INT 21Hmain endpcode ends end main= 0_1.asm =data segment ; .data endsextra segment ; .extra endsstack segment DB 1024 DUP ( 0FFH )stack endscode segment assume CS:code,
2、 DS:data, ES:extra, SS:stackstart: MOV AX, data MOV DS, AX MOV AX, extre MOV ES, AX MOV AX, stack MOV ES, AX ; . MOV AH, 4CH INT 21Hcode ends end start= 0_2.asm =data segment ; .data endsstack segment DB 1024 DUP ( 0FFH )stack endscode segment assume CS:code, DS:data, SS:stackstart: MOV AX, data MOV
3、 DS, AX MOV AX, stack MOV ES, AX ; . MOV AH, 4CH INT 21Hcode ends end start= 3_1.asm =data segmentarr DW 01h,02h,03h,04hdata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV CX, 0004H MOV AX, 0000H ;clear zero LEA BX, arr; MOV BX, OFFSET arrloop1: ADD AX, BX ADD BX, 2 DEC C
4、X JNZ loop1 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_2.asm =data segmentarr1 DW 01h,02h,03h,04hdata endsextra segmentarr2 DW 11h,12h,13h,14h,15hextra endscode segment assume CS:code, DS:data, ES:extrastart: MOV AX, data MOV DS, AX MOV AX, extra MOV ES, AX MOV CX, 0004H MOV AX, 0000H ;clear ze
5、ro LEA BX, arr1loop1: ADD AX, BX ADD BX, 2 DEC CX JNZ loop1 MOV CX, 0004H MOV AX, 0000H ;clear zero MOV BX, OFFSET arr2loop2: ADD AX, ES:BX ADD BX, 2 DEC CX JNZ loop2 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_3.asm =data segmentvar1 DW 12Hvar2 DW 1AHvar3 DW ?data endscode segment assume CS:cod
6、e, DS:datastart: MOV AX, data MOV DS, AX MOV AX, var1 ADD AX, var2 MOV var3, AX MOV AH, 4CH INT 21Hcode ends end start= 3_4.asm =data segment DW 10 DUP (?)arr DW 01h,02h,03h,04h,05Hdata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV CX, 0005H MOV AX, 0000H ;clear zero MOV
7、 BX, 0loop1: ADD AX, arrBX ADD BX, 2 DEC CX JNZ loop1 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_5.asm =data segment DW 10 DUP (?)stu DW 123aH DW 45H DB w DB 23Hdata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV BX, OFFSET stu MOV AX, BX+0 MOV DX, BX+2 MOV CL, BX+4
8、MOV CH, BX+5 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_6.asm =data segment DW 10 DUP (?)stu DW 123aH DW 45H DB w DB 23H DW 123aH DW 45H DB w DB 23H DW 123aH DW 45H DB w DB 23Hdata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AXloop1: MOV CX, 3 MOV BX, OFFSET stu MOV AX,
9、BX+0 MOV DX, BX+2 MOV AL, BX+4 MOV AH, BX+5 ADD BX, 6 DEC CX JNZ loop1 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_7.asm =data segmentarr DW 01h,02h,03h,04h,05H,06hdata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV AX, 0 MOV Ch, 03Hloop1: MOV CL, 02H MOV SI, 0Hloop2:
10、 ADD AX, BX+SI ADD SI, 2 DEC CL JNZ loop2 ADD BX,4 DEC CH JNZ loop1 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_8.asm =data segmentarr DW 01h,02h,03h,04h,05H,06hdata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV AX, 0 MOV CX, 0006H MOV BX, offset arr MOV SI, 0Hloop1:
11、 ADD AX, BXSI ADD SI, 2 DEC CX JNZ loop1 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_9.asm =data segmentstru DW 03H DB 02H DW 01h,02h,03h,04h,05H DW 09Hdata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV AX, 0 MOV CX, 0005H MOV BX, offset stru MOV SI, 0Hloop1: ADD AX,
12、 BX+3+SI ADD SI, 2 DEC CX JNZ loop1 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_10.asm =data segmentstru DW 03H DB 02H DW 01h,02h,03h,04h,05H DW 09H DW 03H DB 02H DW 01h,02h,03h,04h,05H DW 09H DW 03H DB 02H DW 01h,02h,03h,04h,05H DW 09Hdata endscode segment assume CS:code, DS:datastart: MOV AX,
13、data MOV DS, AXloop2: MOV CL, 03H MOV AX, 0 MOV CH, 05H MOV BX, offset stru MOV SI, 0Hloop1: ADD AX, BX+3+SI ADD SI, 2 DEC CH JNZ loop1 DEC CL JNZ loop2 MOV AH, 4CH ;exit INT 21Hcode ends end start= 3_11.asm =data segmentcount1 EQU 5count2 EQU 11Hcount3 EQU 10110011Bvar1 DW 16ch1 DB Avar2 DD 1234567
14、8Hvar3 DQ 12345678ABCDEF09Harr1 DW 01h,02h,03h,04harr2 DB count1 DUP( 3H, 2H, 2 DUP(?) )data endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV BX, OFFSET arr2 MOV SI, OFFSET ch1+1 MOV AX, var1 MOV AX, var1; MOV AX, var2 MOV AX, WORD PTR var2 MOV var1, count1 MOV BYTE PTR 000
15、0, count1 MOV AX, count1 MOV AH, count1 MOV AL, count2 MOV AH, count3 MOV BX, 0 MOV SI, 0 MOV AX, arr1BXSI MOV AH, 4CH INT 21Hcode ends end start= 3_12.asm =data segmentarr2 DW 12H,13H,14H,15H,16H,17H,18H,19Hdata endsstack segment stack DB 1024 DUP ( 0FFH )stack endscode segment assume CS:code, DS:d
16、ata, SS:stackstart: MOV AX, data MOV DS, AX MOV AX, stack MOV SS, AX MOV BX, OFFSET arr2 MOV CX, 04Hloop1: MOV AX, 0 PUSH CX MOV CX, 02Hloop2: ADD AX, BX ADD BX, 02H DEC CX JNZ loop2 POP CX DEC CX JNZ loop1 MOV AH, 4CH INT 21Hcode ends end start= 3_13.asm =data segmentX DD 11223344HY DD 0AABBCCDDHZ
17、DD 55667788HW DD ?data endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV AX, WORD PTR X MOV DX, WORD PTR X+2 ADD AX, WORD PTR Y ADC DX, WORD PTR Y+2 ADD AX, 24 ADC DX, 0 SUB AX, WORD PTR Z SBB DX, WORD PTR Z+2 MOV WORD PTR W, AX MOV WORD PTR W+2, DX MOV AH, 4CH INT 21Hcode e
18、nds end start= 3_14.asm =data segmentCNT EQU 8TABLE DB 1,2, ,F,A,B,C,Kdata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV AH, A MOV BX, OFFSET TABLE MOV CX, CNTloop1: CMP BX, AH JZ loop2 INC BX DEC CX JNZ loop1 MOV BX, 0FFFFHloop2: MOV AH, 4CH INT 21Hcode ends end start=
19、5_1.asm =data segmentstring DB dir type cd date deldata endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV BX, offset string MOV CX, 20H MOV AL, 20Hloop1: CMP AL, BX JNE next INC CHnext: INC BX DEC CL JNZ loop1exit: MOV AH, 4CH INT 21Hcode ends end start= 5_2.asm =code segmen
20、t assume CS:codestart: MOV BX, 9A1BH MOV CH, 4loop1: MOV CL, 4 ROL BX, CL MOV AL, BL AND AL, 0FH ADD AL, 30H CMP AL, 3AH JL print ADD AL, 07Hprint: MOV DL, AL MOV AH, 02H INT 21H DEC CH JNZ loop1 MOV AH, 4CH INT 21Hcode ends end start= 5_3.asm =data segment org 30hy EQU 981Fhnum DW yaddr DW numcount
21、 DW ?data endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX XOR CX, 0 MOV BX, addr MOV AX, BXrepeat: TEST AX, 0FFFFH JZ exit JNS shift INC CXshift: SHL AX, 1 JMP repeatexit: MOV count, CX MOV AH, 4CH INT 21Hcode ends end start= 5_3A.asm =data segment org 30hy EQU 981Fhnum DW yad
22、dr DW numcount DW ?data endscode segment assume CS:code, DS:datastart: MOV AX, data MOV DS, AX MOV CX, 1000H MOV BX, addr MOV AX, BXrepeat: SHL AX, 1 JNC next INC CLnext: DEC CH JNZ repeatexit: MOV count, CX MOV AH, 4CH INT 21Hcode ends end start= 5_4.asm =code segment assume CS:codestart: CLD PUSH
23、DI MOV CX, ES:DI ADD DI, 2 REPNZ SCASW JE delete POP DI JMP exitdelete: JCXZ dec_cntnext: MOV BX, ES:DI MOV ES:DI-2, BX ADD DI, 2 LOOP nextdec_cnt:POP DI DEC word ptr ES:DIexit: MOV AH, 4CH INT 21Hcode ends end start= 5_5.asm =data segment;string db abcdef565xyz7,0string db abcdefxyz,0data endscode
24、segment assume cs:code, ds:datastart: mov ax, data mov ds, ax mov dl, 0dfh mov bx, offset string mov cx, 100l1: cmp byte ptr bx, 30h jb next cmp byte ptr bx, 39h ja next or dl, 20h jmp exitnext: inc bx loop l1exit: mov cl, dl mov ah, 4ch int 21hcode ends end start= 5_6A.asm =CODE SEGMENT ASSUME CS:C
25、ODESTART: PUSH DI MOV CX, ES:DI ADD DI, 2LP1: CMP CX, 0 JZ EXIT1 CMP AX, ES:DI JZ EXIT1 ADD DI, 2 DEC CX JMP LP1EXIT1: CMP CX, 0 JZ _ELSE ; NOT FOUND_THEN: DEC CX ; FOUNDDELETE: CMP CX, 0 JZ EXIT2 MOV BX, ES:DI+2 MOV ES:DI, BX ADD DI, 2 DEC CX JMP DELETEEXIT2: POP DI DEC WORD PTR DI JMP EXIT_ELSE: P
26、OP DIEXIT: MOV AH, 4CH INT 21HCODE ENDS END START= 5_6B.asm =CODE SEGMENT ASSUME CS:CODESTART: PUSH DI MOV CX, ES:DI ADD DI, 2 CLD REPNZ SCASW JZ DELETE POP DI JMP EXITDELETE: PUSH DS ; STORE PUSH SI PUSH ES POP DS MOV SI, DI SUB DI, 2 REP MOVSW POP SI ; RESTORE POP DS POP DI DEC WORD PTR DIEXIT: MO
27、V AH, 4CH INT 21HCODE ENDS END START= 5_7.asm =data segmentlist dw 10 dw 1,12,23,34,45,56,67,78,89,90 org 20hstart_addr dw ?data endscode segment assume cs:code, ds: datastart: push ax mov ax, data mov ds, ax pop ax mov di, offset list mov start_addr, di mov si, di shl si, 1 add si, di add di, 2l1: cmp di, si ja not_found mov cx, si sub cx, di add cx, 2 shr cx, 1 mov bx, di add bx, cx test bx, 1 jz continue dec bxcontinue: cmp ax, bx jb first ja second jmp foundfirst:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1