教案中的例题的代码.docx

上传人:b****6 文档编号:5965077 上传时间:2023-01-02 格式:DOCX 页数:38 大小:19.21KB
下载 相关 举报
教案中的例题的代码.docx_第1页
第1页 / 共38页
教案中的例题的代码.docx_第2页
第2页 / 共38页
教案中的例题的代码.docx_第3页
第3页 / 共38页
教案中的例题的代码.docx_第4页
第4页 / 共38页
教案中的例题的代码.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

教案中的例题的代码.docx

《教案中的例题的代码.docx》由会员分享,可在线阅读,更多相关《教案中的例题的代码.docx(38页珍藏版)》请在冰豆网上搜索。

教案中的例题的代码.docx

教案中的例题的代码

=====0_0.asm=====

datasegment

dataends

codesegment

assumeCS:

code,DS:

data

mainprocfar

MOVAX,data

MOVDS,AX

;......

MOVAH,4CH

INT21H

mainendp

codeends

endmain

=====0_1.asm=====

datasegment

;......

dataends

extrasegment

;......

extraends

stacksegment

DB1024DUP(0FFH)

stackends

codesegment

assumeCS:

code,DS:

data,ES:

extra,SS:

stack

start:

MOVAX,data

MOVDS,AX

MOVAX,extre

MOVES,AX

MOVAX,stack

MOVES,AX

;......

MOVAH,4CH

INT21H

codeends

endstart

=====0_2.asm=====

datasegment

;......

dataends

stacksegment

DB1024DUP(0FFH)

stackends

codesegment

assumeCS:

code,DS:

data,SS:

stack

start:

MOVAX,data

MOVDS,AX

MOVAX,stack

MOVES,AX

;......

MOVAH,4CH

INT21H

codeends

endstart

=====3_1.asm=====

datasegment

arrDW01h,02h,03h,04h

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVCX,0004H

MOVAX,0000H;clearzero

LEABX,arr

;MOVBX,OFFSETarr

loop1:

ADDAX,[BX]

ADDBX,2

DECCX

JNZloop1

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_2.asm=====

datasegment

arr1DW01h,02h,03h,04h

dataends

extrasegment

arr2DW11h,12h,13h,14h,15h

extraends

codesegment

assumeCS:

code,DS:

data,ES:

extra

start:

MOVAX,data

MOVDS,AX

MOVAX,extra

MOVES,AX

MOVCX,0004H

MOVAX,0000H;clearzero

LEABX,arr1

loop1:

ADDAX,[BX]

ADDBX,2

DECCX

JNZloop1

MOVCX,0004H

MOVAX,0000H;clearzero

MOVBX,OFFSETarr2

loop2:

ADDAX,ES:

[BX]

ADDBX,2

DECCX

JNZloop2

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_3.asm=====

datasegment

var1DW12H

var2DW1AH

var3DW?

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVAX,var1

ADDAX,var2

MOVvar3,AX

MOVAH,4CH

INT21H

codeends

endstart

=====3_4.asm=====

datasegment

DW10DUP(?

arrDW01h,02h,03h,04h,05H

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVCX,0005H

MOVAX,0000H;clearzero

MOVBX,0

loop1:

ADDAX,arr[BX]

ADDBX,2

DECCX

JNZloop1

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_5.asm=====

datasegment

DW10DUP(?

stuDW123aH

DW45H

DB'w'

DB23H

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVBX,OFFSETstu

MOVAX,[BX+0]

MOVDX,[BX+2]

MOVCL,[BX+4]

MOVCH,[BX+5]

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_6.asm=====

datasegment

DW10DUP(?

stuDW123aH

DW45H

DB'w'

DB23H

DW123aH

DW45H

DB'w'

DB23H

DW123aH

DW45H

DB'w'

DB23H

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

loop1:

MOVCX,3

MOVBX,OFFSETstu

MOVAX,[BX+0]

MOVDX,[BX+2]

MOVAL,[BX+4]

MOVAH,[BX+5]

ADDBX,6

DECCX

JNZloop1

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_7.asm=====

datasegment

arrDW01h,02h,03h,04h,05H,06h

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVAX,0

MOVCh,03H

loop1:

MOVCL,02H

MOVSI,0H

loop2:

ADDAX,[BX+SI]

ADDSI,2

DECCL

JNZloop2

ADDBX,4

DECCH

JNZloop1

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_8.asm=====

datasegment

arrDW01h,02h,03h,04h,05H,06h

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVAX,0

MOVCX,0006H

MOVBX,offsetarr

MOVSI,0H

loop1:

ADDAX,[BX][SI]

ADDSI,2

DECCX

JNZloop1

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_9.asm=====

datasegment

struDW03H

DB02H

DW01h,02h,03h,04h,05H

DW09H

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVAX,0

MOVCX,0005H

MOVBX,offsetstru

MOVSI,0H

loop1:

ADDAX,[BX+3+SI]

ADDSI,2

DECCX

JNZloop1

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_10.asm=====

datasegment

struDW03H

DB02H

DW01h,02h,03h,04h,05H

DW09H

DW03H

DB02H

DW01h,02h,03h,04h,05H

DW09H

DW03H

DB02H

DW01h,02h,03h,04h,05H

DW09H

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

loop2:

MOVCL,03H

MOVAX,0

MOVCH,05H

MOVBX,offsetstru

MOVSI,0H

loop1:

ADDAX,[BX+3+SI]

ADDSI,2

DECCH

JNZloop1

DECCL

JNZloop2

MOVAH,4CH;exit

INT21H

codeends

endstart

=====3_11.asm=====

datasegment

count1EQU5

count2EQU11H

count3EQU10110011B

var1DW16

ch1DB'A'

var2DD12345678H

var3DQ12345678ABCDEF09H

arr1DW01h,02h,03h,04h

arr2DBcount1DUP(3H,2H,2DUP(?

))

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVBX,OFFSETarr2

MOVSI,OFFSETch1+1

MOVAX,[var1]

MOVAX,var1

;MOVAX,var2

MOVAX,WORDPTRvar2

MOVvar1,count1

MOVBYTEPTR[0000],count1

MOVAX,count1

MOVAH,count1

MOVAL,count2

MOVAH,count3

MOVBX,0

MOVSI,0

MOVAX,arr1[BX][SI]

MOVAH,4CH

INT21H

codeends

endstart

=====3_12.asm=====

datasegment

arr2DW12H,13H,14H,15H,16H,17H,18H,19H

dataends

stacksegmentstack

DB1024DUP(0FFH)

stackends

codesegment

assumeCS:

code,DS:

data,SS:

stack

start:

MOVAX,data

MOVDS,AX

MOVAX,stack

MOVSS,AX

MOVBX,OFFSETarr2

MOVCX,04H

loop1:

MOVAX,0

PUSHCX

MOVCX,02H

loop2:

ADDAX,[BX]

ADDBX,02H

DECCX

JNZloop2

POPCX

DECCX

JNZloop1

MOVAH,4CH

INT21H

codeends

endstart

=====3_13.asm=====

datasegment

XDD11223344H

YDD0AABBCCDDH

ZDD55667788H

WDD?

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVAX,WORDPTRX

MOVDX,WORDPTRX+2

ADDAX,WORDPTRY

ADCDX,WORDPTRY+2

ADDAX,24

ADCDX,0

SUBAX,WORDPTRZ

SBBDX,WORDPTRZ+2

MOVWORDPTRW,AX

MOVWORDPTRW+2,DX

MOVAH,4CH

INT21H

codeends

endstart

=====3_14.asm=====

datasegment

CNTEQU8

TABLEDB'1','2','','F','A','B','C','K'

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVAH,'A'

MOVBX,OFFSETTABLE

MOVCX,CNT

loop1:

CMP[BX],AH

JZloop2

INCBX

DECCX

JNZloop1

MOVBX,0FFFFH

loop2:

MOVAH,4CH

INT21H

codeends

endstart

=====5_1.asm=====

datasegment

stringDB'dirtypecddatedel'

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVBX,offsetstring

MOVCX,20H

MOVAL,20H

loop1:

CMPAL,[BX]

JNEnext

INCCH

next:

INCBX

DECCL

JNZloop1

exit:

MOVAH,4CH

INT21H

codeends

endstart

=====5_2.asm=====

codesegment

assumeCS:

code

start:

MOVBX,9A1BH

MOVCH,4

loop1:

MOVCL,4

ROLBX,CL

MOVAL,BL

ANDAL,0FH

ADDAL,30H

CMPAL,3AH

JLprint

ADDAL,07H

print:

MOVDL,AL

MOVAH,02H

INT21H

DECCH

JNZloop1

MOVAH,4CH

INT21H

codeends

endstart

=====5_3.asm=====

datasegment

org30h

yEQU981Fh

numDWy

addrDWnum

countDW?

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

XORCX,0

MOVBX,addr

MOVAX,[BX]

repeat:

TESTAX,0FFFFH

JZexit

JNSshift

INCCX

shift:

SHLAX,1

JMPrepeat

exit:

MOVcount,CX

MOVAH,4CH

INT21H

codeends

endstart

=====5_3A.asm=====

datasegment

org30h

yEQU981Fh

numDWy

addrDWnum

countDW?

dataends

codesegment

assumeCS:

code,DS:

data

start:

MOVAX,data

MOVDS,AX

MOVCX,1000H

MOVBX,addr

MOVAX,[BX]

repeat:

SHLAX,1

JNCnext

INCCL

next:

DECCH

JNZrepeat

exit:

MOVcount,CX

MOVAH,4CH

INT21H

codeends

endstart

=====5_4.asm=====

codesegment

assumeCS:

code

start:

CLD

PUSHDI

MOVCX,ES:

[DI]

ADDDI,2

REPNZSCASW

JEdelete

POPDI

JMPexit

delete:

JCXZdec_cnt

next:

MOVBX,ES:

[DI]

MOVES:

[DI-2],BX

ADDDI,2

LOOPnext

dec_cnt:

POPDI

DECwordptrES:

[DI]

exit:

MOVAH,4CH

INT21H

codeends

endstart

=====5_5.asm=====

datasegment

;stringdb'abcdef565xyz7',0

stringdb'abcdefxyz',0

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

movdl,0dfh

movbx,offsetstring

movcx,100

l1:

cmpbyteptr[bx],30h

jbnext

cmpbyteptr[bx],39h

janext

ordl,20h

jmpexit

next:

incbx

loopl1

exit:

movcl,dl

movah,4ch

int21h

codeends

endstart

=====5_6A.asm=====

CODESEGMENT

ASSUMECS:

CODE

START:

PUSHDI

MOVCX,ES:

[DI]

ADDDI,2

LP1:

CMPCX,0

JZEXIT1

CMPAX,ES:

[DI]

JZEXIT1

ADDDI,2

DECCX

JMPLP1

EXIT1:

CMPCX,0

JZ_ELSE;NOTFOUND

_THEN:

DECCX;FOUND

DELETE:

CMPCX,0

JZEXIT2

MOVBX,ES:

[DI+2]

MOVES:

[DI],BX

ADDDI,2

DECCX

JMPDELETE

EXIT2:

POPDI

DECWORDPTR[DI]

JMPEXIT

_ELSE:

POPDI

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

=====5_6B.asm=====

CODESEGMENT

ASSUMECS:

CODE

START:

PUSHDI

MOVCX,ES:

[DI]

ADDDI,2

CLD

REPNZSCASW

JZDELETE

POPDI

JMPEXIT

DELETE:

PUSHDS;STORE

PUSHSI

PUSHES

POPDS

MOVSI,DI

SUBDI,2

REPMOVSW

POPSI;RESTORE

POPDS

POPDI

DECWORDPTR[DI]

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

=====5_7.asm=====

datasegment

listdw10

dw1,12,23,34,45,56,67,78,89,90

org20h

start_addrdw?

dataends

codesegment

assumecs:

code,ds:

data

start:

pushax

movax,data

movds,ax

popax

movdi,offsetlist

movstart_addr,di

movsi,[di]

shlsi,1

addsi,di

adddi,2

l1:

cmpdi,si

janot_found

movcx,si

subcx,di

addcx,2

shrcx,1

movbx,di

addbx,cx

testbx,1

jzcontinue

decbx

continue:

cmpax,[bx]

jbfirst

jasecond

jmpfound

first:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1