国际结算上机实验报告及心得体会

时间:2024.4.20

德 州 学 院

实 验 报 告

国际结算上机实验报告及心得体会

课程名称: 国 际 结 算

实验班级:20xx级国际经济与贸易专科

学 号:***

指导教师:***

填写日期:20xx-11-28

实验室名称: 经济管理系综合实验室

20xx年 11 月 28 日

一、实验项目名称

1.熟悉外贸单证实习平台的基本用法。

2.掌握国际结算中票据的填制与使用。

4.熟悉汇付结算方式的灵活使用。

5.熟悉托收结算方式的灵活使用。

6.熟悉信用证结算方式的具体操作。

7.熟练掌握国际结算中各种商业单据的制作和审核。

二 实验目的

本实验以国际贸易模拟实习软件为基础模拟操作国际贸易结算的实际过程,通过网络模拟实验了解各种结算方式下各个当事人的责任,掌握各种结算单据的制作和审核,熟悉各种结算方式的灵活使用。通过分别充当结算业务中的进出口商和进出口银行等当事人,熟悉和掌握多种结算方式,学会使用各种结算工具,学会各种商业单据的制作和审核。

三、实验环境

1.操作系统:Windows XP

2.应用软件:世格外贸单证教学软件、世格SimTrade外贸实习软件。

四、实验内容与要求

1.通过签发票据实验,使学生熟悉汇票、本票和支票等票据的签发,能较熟练运用;通过上机实验,使学生熟悉信用证的使用及审核等相关业务。

2. 提供单证实践的机会,深化学生在《国际结算》课程中学到的各种单据的基本概念和信用证与物权单据之间的有机衔接,熟悉信用证内容,掌握制单技术和实践审单原理。

3.帮助学生在实验中获取知识,在实践中增长才干,巩固、深化书本所学的理论业务知识,缩短课堂与社会实务部门的距离,缩短实际工作中的磨合期。

五、实验总结

(根据自己在实验中的收获感受、出现的问题及最终需要注意和提高的方面进行总结。)注:实验报告正文字数不得少于2000字。

附:实验结果(包括填制的票据、各种结算方式下的单据)

(一) 实验结果

(二) 实验总结

通过一个学期的国际结算学习,使我了解了国际结算的理论知识和实际操作过程。国际结算是对国际间债权债务进行了结和清算的一种经济行为。国际结算就是运用一定的金融工具(汇票、本票、支票等),采取一定的方式(汇付、托收、信用证等),通过一定的媒介机构(银行或其他金融机构等),进行国与国之间的货币收支行为,从而使国际间债权债务得以清偿。

通过这学期的实验上机,对信用证结算业务有了进一步的了解,对信用证填写完整性、准确性的审核,根据信用证的条件,对商业发票、汇票的正确缮制有了进一步的体会,并且掌握了保险单、海运提单、装箱单的业务处理流程;对一般原产地证和普惠制原产地证等业务处理流程也得到进一步了解。通过上机实验,我认识到了结算工作的复杂性,变化性,灵活性,困难性,也体会到了作为一名优秀的结算工作者应该具备的基本业务素质和心理素质。

这次模拟操作不但巩固了我们平时所学,也为我们日后的专业工作提供了非常实际的便利。作为一名大学生,应当具备较强的举一反三的能力,而在这些实习中,恰有不少单证的填写是相互联系、相互依靠的。因此,我们应当举一反三,利用诸多单证格式和填写原理类似这一特点,将各类单证的填制和审核紧密联系到一起。这样做无疑可以大大提高我们的学习效率。也可以使我们的实际操作结果相互对应,利于即使查缺补漏,保证单证记录内容的准确有效。在L/C项下,必须严格注意各类单据记载内容的一致,以单单一致、单证一致来求得结汇工作的顺利进行。

在实验的过程中遇到了一些问题,首先的问题就是语言方面的障碍,由于题目所给都是英文形式,所以在制作票据之前把各个类目和内容阅读清楚和准确是至关重要的,限于自身的外语水平,在这个环节遇到了一点困难;其次还发现,由于对各项单证的基础知识掌握不牢固,各个类目的准确含义没有完全记住,所以这大大降低了实验的效率,遇到不懂的类目还要查阅课本。还有一个问题是细节方面的问题,就是如何把所给题目所给的信息提取出来,按要求准确地把对应的信息填在票据当中。

在进行实验的过程之中我充分体会到了英语的重要性,题目所给信息全是英文的,单证的全部内容以及填制也需要用英文来完成,在阅读相关内容的过程中,无疑我遇到了不小的阻力,这使我明白,我的外语水平还是远远不足以应付日后工作中的诸多困难,因此,我们在加强专业课程和专业技能学习的同时,还应该努力提高自己的英语水平。

国际结算是国际贸易必不可少的一项业务,而各种单证的制作在国际贸易中是常有的事情,所以掌握好单证的制作是非常重要的,虽然第一次上机模拟操作,没能完全学会如何制作,对整个实验过程有点不知所措,但是通过这学期的实验课,结合课本所学的理论知识,至少加深了对各种单证的认识,对其制作的过程和注意的问题也有了一个大概的了解,我想这会对以后更进一步的相关学习和实践带来很大的帮助,因此在学习这门课程中,在学习课本基础理论知识之余,适当地开设实验课,由我们学生自己上机操作模拟制作票据,对我们学习该门课程大有益处。

(三)心得体会

本学期的国际结算实验让我受益匪浅,将三年学习的理论知识运用到了实践中,进一步巩固了所学的知识,完善了知识体系。本学期的模拟实验提高了我的实际操作能力,为今后的工作打下了坚实的基础。以下是我本学期进行实验操作的心得体会:

一、在做国际结算时,英语水平很重要。

国际贸易中,交易双方处在不同的国家,沟通交流的语言基本都用国际通用的英语。本学期的模拟实验中,保险单、海运提单、商业发票、装箱单、汇票、装船通知等单据填写和信用证审核都用到英语,这就对我们的英语水平,尤其是专业英语水平有了很高的要求。现有的专业英语水平还远远达不到要求。因此,在以后的学习中,还需要进一步提高专业英语的水平。

二、在做国际结算时,对各单证的熟悉程度直接影响交易的效率。

上机模拟时,初次接触软件,再加上之前学习的理论知识不够扎实,因此每填一个单证都参照国际结算、国际贸易实务和经贸函电三本教材,因此造成了时间上的浪费;有了老师给的模本后,再加上对个单证的填写日益熟练,操作起来更加顺手。因此单证熟练度是国际结算业务员必备的。

三、在做国际结算时,一定要保持清醒的头脑,要极其认真、细心,要有耐心。

信用证审核着实让人头疼,其他各种单证也需要核对无误,否则会影响其他单证的正确填写。因此必须要求业务员有清醒的头脑,填写及审核时认真细心,同时要有耐心,仔细核对。

四、我们要熟练掌握专业知识,提高综合素质和能力。

大三所学的国际贸易实务和经贸函电包括了国际结算所操作的各项内容,但是将理论运用于实践时,出现了各种问题。原因在于我们没有熟练掌握专业知识,只是做到了了解。在接下来的学习中,我们要进一步巩固专业知识,熟练掌握国际结算中的各种单证,学会解决国际结算中可能出现的各种问题。多操作,多实践,切实提高综合素质和能力。


第二篇:汇编上机实验报告心得体会


汇编语言程序设计

第一次上机作业

1.从键盘上接受一个字符,找出他的前导字符和后继字符,按顺序显示这三个字符。

寄存器分配:

AL:存输入值x

DL:输出显示

流程图:如右图所示

DATA SEGMENT

A DB 0

DATA ENDS

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

CODE SEGMENT

ASSUME DS:DATA,SS:STACK,CS:CODE

S: MOV AX,DATA

MOV DS,AX

MOV AH,1

INT 21H

INC AL

MOV DL,AL

MOV AH,2

INT 21H

DEC AL

MOV DL,AL

MOV AH,2

INT 21H

DEC AL

MOV DL,AL

MOV AH,2

INT 21H

CODE ENDS

END S

2.从键盘上输入一个数字字符,如不是,显示‘not odd’,否则显示‘odd’。

寄存器分配:

AL:存输入值x

DL:输出显示

流程图:如右图所示

程序代码如下:

DATA SEGMENT

A DB 0

BUF DB,'NOT ODD$'

EA DB,'ODD$'

DATA ENDS

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS Y

CODE SEGMENT

ASSUME DS:DATA,SS:STACK,CS:CODE

S: MOV AX,DATA N

MOV DS,AX

MOV AH,1

INT 21H Y

CMP AL,'0'

JNGE B

CMP AL,'9'

JGE B

LEA DX,EA

MOV AH,9

INT 21H

JMP C

B: LEA DX,BUF

MOV AH,9

INT 21H

C: MOV AH,4CH

INT 21H

CODE ENDS

END S

第二次上机作业

1.将以H为首地址的字节存储区中的技能被3整除又能被13整除的无符号整数的个数(假定<=9)显示出来;同时对应的显示它们分别对应的地址偏移量。(利用多种寻址方式做)

DATA SEGMENT 寄存器分配:SI:存H的偏移地址

H DW 1,3,5,39,13,117,15,17,$ CX:计数

N =$-H DX:存余数

B DW 3 BX:循环计数

C DW 13

D DW 0

DATA ENDS

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK,DS:DATA

BEGIN: MOV AX,DATA N

MOV DS,AX

MOV CX,0 Y

MOV BX,N

LEA SI,H N

LOPA: MOV AX,SI

DIV B

MOV D,DX Y

JNZ NEXT

DIV C

MOV D,DX

JNZ NEXT

MOV DL,[SI]

MOV AH,2

INT 21H

INC CX

INC SI

DEC DX

JNZ LOPA N

NEXT: INC SI

DEC DX

JNZ LOPA Y

EXIT: MOV DL,CL

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

2.在以TAB为首地址的字存储区中存放有n个无符号数,统计低三位全为一的数的个数。

寄存器分配:SI:TAB的偏移地址

AX:存[SI]

DX:计个数

CX:循环计数

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

TAB DW '1,9,10,20,30,40 '

N =($-TAB)/2

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK,DS:DATA

BEGIN: MOV AX,DATA

MOV DS,AX

MOV DX,0

MOV CX,N

MOV BX,7H

LEA SI,TAB

LOPA: MOV AX,SI

AND AX,BX N

CMP AX,BX

JNE EXIT

INC DX Y

INC SI

DEC CX

JNZ LOPA

NEXT: INC SI

DEC CX

JNZ LOPA

EXIT: MOV DL,DL

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS N

EMD BEGIN

3.键盘接受一串字符到BUF为首地址的字节单元中,要求用下列方法分别编程,将它们以相反的次序显示在屏幕的下一行中:

(1).按地址从尾向前依次显示。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

BUF DB 20

DB ?

DB 20 DUP(0)

BUF1 DB 20 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

BEGIN:MOV AX,DATA

MOV DS,AX

LEA DX,BUF

MOV AH,10

INT 21H

MOV CL,BUF+1

MOV CH,0

LEA DI,BUF1

P1: LEA SI,BUF+2

ADD SI,CX

DEC SI

MOV AL,[SI]

MOV BYTE PTR [DI],AL

INC DI

MOV DL,AL

MOV AH,2

INT 21H

LOOP P1

NEXT: MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

(2).利用堆栈反向显示。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

BUF DB 20

DB ?

DB 20 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

BEGIN:MOV AX,DATA

MOV DS,AX

LEA DX,BUF

MOV AH,10

INT 21H

MOV CL,BUF+1

MOV CH,0

LEA SI,BUF+2

P1: MOV AL,[SI]

MOV AH,0

PUSH AX

INC SI

LOOP P1

P2: POP BX

MOV DL,BL

MOV AH,2

INT 21H

MOV CL,BUF+1

MOV CH,0

LOOP P2

NEXT: MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

(3).利用交换的方法反序后,

然后显示:即ai<——>aj

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

BUF DB 'asfdcvb'

N=$-BUF

B DW ?

A DB 2

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

BEGIN:MOV AX,DATA

MOV DS,AX

LEA SI,BUF

LEA DI,BUF

MOV CX,N

DEC CX

MOV B,CX

INC CX

ADD DI,B

MOV AX,CX

DIV A

LOAP: MOV BL,[DI]

MOV DL,[SI]

XCHG BL,DL

MOV [SI],DL

MOV [DI],BL

INC SI

DEC DI

DEC AL

JNZ LOAP

P2:LEA SI,BUF

MOV DH,[SI]

MOV DL,DH

MOV AH,2

INT 21H

INC SI

LOOP P2

NEXT: MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

第三次上机作业

1.在以BUF1和BUF2为首地址的两个字存储区中,分别存放有10个不相等的无符号数。依次找出同时在这两个存储区中出现的数,将他们放在以BUF3为首地址的存储区中。

寄存器分配:SI:BUF1偏移地址 DI:BUF2偏移地址 BP:BUF3偏移地址 CX,DX:循环计数

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

BUF1 DW 1,3,7,15,20,18,14,17,19,21

BUF2 DW 4,6,8,17,20,25,27,18,3,16

BUF3 DW 10 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK,DS:DATA

BEGIN: MOV AX,DATA

MOV DS,AX

LEA SI,BUFI Y

LEA DI,BUF2

LEA BP,BUF3

MOV CX,10 N

MOV DX,10

LOPA: MOV AX,[SI]

MOV BX,[DI]

CMP AX,BX Y

JE B

DEC DX N

JZ C

ADD DI,2

JMP LOPA

B: MOV (BP),AX

ADD BP,2

DEC DX JZ

JZ C

ADD DI

JMP LOPA JNZ

C: LEA DI,BUF2

INC SI

MOV DX,10

DEC CX

JZ D

JMP LOPA JNZ

D: MOV AH,4CH

INT 21H

DATA ENDS END BEGIN JZ

2.键盘接受一串字符到以TAB为首地址的字节存储区中,利用向前移动的方法,删除数字字符,然后在屏幕的下一行,显示删除后的字符串。

寄存器分配:CX:计数控制循环 SI:TAB首地址 AL:存(SI)

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

TAB DB 100 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE;SS:STACK;DS:DATA

BEGIN: LEA SI,TAB

MOV CX,10

LOPA1: MOV AH,1

INT 21H JNZ

MOV [SI],AL

MOV DL,AL JZ

MOV AH,2

INT 21H

DEC CX

JNZ LOPA1

MOV DL,0AH

MOV AH,2 Y

INT 21H

MOV SI,0 N

MOV CX,10 Y

LOPA2: MOV AL,[SI] N

CMP AL,’0’

JL A

CMP AL,’9’

JG A

MOV BL,SI

LOPA3: INC SI JNZ

MOV [SI],[SI+1]

DEC CX JZ

JNZ LOPA3

MOV SI,BL

JMP LOPA2

A: MOV DL,AL

MOV AH,2 JNZ

INT 21H

DEC CX JZ

JNZ LOPA2

MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

4.从键盘上接受若干个字符,以^Z结束,将其写到C:ABC.ASM文件中保存,然后显示在屏幕上。要求有提示信息。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

CE DB’CREATE ERROR!’,0AH,0DH ,’$’

WE DB’WRITE ERROR!’,0AH,0DH,’$’

PI DB’PLEASE INPUT:’,0AH,0DH,’$’

F_NAME DB’C:AB.ASM’,0

BUF DB 32767 DUP(?)

F_NUM DW?

DATA ENDS

CODE SEGMENT

ASSUME SS:STACK;DS:DATA;CS:CODE

BEGIN: MOV AX,DATA

MOV DS,AX

MOV AH,3CH

MOV CX,0

LEA DX,F_NAME N Y

INT 21H

JNC C

LEA DX,CE N

MOV AH,9

INT 21H Y

JMP EXIT N

C: MOV F_NUME,AX

LEA DX,PI

MOV AH,9

INT 21H

LEA DI,BUF Y

INPUT: MOV AH,1

INT 21H

MOV [DI],AL

INC DI

MOV DL,[DI]

MOV AH,2

INT 21H

CMP AL,0DH

JE ENDIN

CMP AL,0DH

JNE INPUT

MOV DL,0AH

MOV [DI],DL

INC DI

MOV AH,2

INT 21H

JMP INPUT

ENDINPUT: MOV AH,40H

MOV BX,F_NUM

LEA DX,BUF

SUB DI,DX

MOV CX,DI

INT 21H

JC E

D: MOV AH,3EH

INT 21H

EXIT: MOV AH,4CH

INT 21H

E: LEA DX,WE

MOV AH,9

INT 21H

JMP D

CODE ENDS

END BEGIN

4. 从键盘上接受若干个字符,以^Z结束,将其写到C:AB.ASM文件中保存,然后显示在屏幕上。要求有提示信息。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

WDH DW ?

WM DB 'C:AB.ASM',0

BUFH DB 32676 DUP(?)

BUF1 DB 'CREAT ERROR!',0AH,0DH, '$'

BUF2 DB 'WRITE ERROR!',0AH,0DH,'$'

BUF3 DB 'NO SPACE!',0AH,0DH,'$'

BUF4 DB 'PLEASE INPUT:',0AH,0DH,'$'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

BEGIN:MOV AX,DATA

MOV DS,AX

MOV ES,AX

MOV AH,3CH

MOV CX,0

LEA DX,WM

INT 21H

JNC P1

LEA DX,BUF1

MOV AH,9

INT 21H

JMP NEXT

P1:MOV WDH,AX

LEA DX,BUF4

MOV AH,9

INT 21H

LEA DI,BUFH

P2:MOV AH,1

INT 21H

MOV BYTE PTR [DI],AL

CMP AL,1AH

JE P3

JMP P2

P3:MOV AH,40H

MOV BX,WDH

LEA DX,BUFH

SUB DI,DX

MOV CX,DI

INT 21H

JC P4

CMP AX,CX

JE P5

LEA DX,BUF3

MOV AH,9

INT 21H

P5:MOV AH,3EH

INT 21H

MOV DL,[BX]

MOV AH,2

INT 21H

INC DX

LOOP P5

NEXT:MOV AH,4CH

INT 21H

P4:LEA DX,BUF2

MOV AH,9

INT 21H

JMP P5

CODE ENDS

END BEGIN

5从键盘上接受一存在的文本文件的名字,并将其内容分页显示出来。要求有信息提示。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

WDH DW ?

WM DB 20

DB ?

DB 20 DUP (0)

BUFH DB 32676 DUP(?)

BUF1 DB 'PLEASE INPUT:',0AH,0DH,'$'

BUF2 DB 'READ ERROR!',0AH,0DH,'$'

BUF3 DB 'OPEN ERROR!',0AH,0DH,'$'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

BEGIN:MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA DX,BUF1

MOV AH,9

INT 21H

LEA DX,WM

MOV AH,10

INT 21H

MOV AH,2

MOV DL,0AH

INT 21H

MOV DL,0DH

INT 21H

MOV AL,WM+1

MOV AH,0

MOV BX,AX

MOV BYTE PTR [BX+WM+2],0

LEA DX,WM+2

MOV AX,3D00H

INT 21H

JC P1

MOV WDH,AX

MOV BX,AX

MOV CX,32767

LEA DX,BUFH

MOV AH,3FH

INT 21H

JC P2

MOV AX,CX

MOV BX,WDH

MOV AH,3EH

INT 21H

MOV AH,2

MOV DL,0AH

INT 21H

MOV DL,0DH

INT 21H

LEA BX,BUFH

LOPA: MOV DL,[BX]

MOV AH,2

INT 21H

INC BX

LOOP LOPA

EXIT: MOV AH,4CH

INT 21H

P1: LEA DX,BUF2

MOV AH,9

INT 21H

JMPE EXIT

P2: LEA DX,BUF3

MOV AH,9

INT 21H

JMP EXIT

CODE ENDS

END BEGIN

第四次上机作业

1在STR串中寻找&,若找到删除,并分两行显示删除前后的字符串;若找不到,则显示“find fall”.

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

BUF DB 3,2,5,4,&M,9,&,A,A

COUNT EQU $-STR

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA;SS:STACK;CS:CODE;

STAR: MOV AX,DATA

MOV DS,AX

LEA DI,BUF DI→BX

LEA SI,BUF

P: MOV AL,’&’

REPNE SCASB

JNE EXIT

MOV SI,DI N

A: MOV BX,[DI+1]

MOV [DI],BX Y

INC DI

CMP DI,COUNT

JNE A

SUB COUNT

MOV CX,COUNT

JZ EXIT

MOV DI,SI

SUB CX,SI JNZ

JNZ P

MOV CX,COUNT Y

LEA SI,BUF

B: LOBSB

MOV DL,AL

MOV AH,2

INT 21H

DEC CX

JNZ B

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END STAR

(2).将显示字符串和回车换行的指令段分别编一宏定义,然后调用;

WRITE MACRO A

LEA DX,A

MOV AH,9

INT 21H

ENDM

CRLF MACRO A

MOV AH,2

MOV DL,0AH

INT 21H

MOV DL,0DH

INT 21H

ENDM

STACK SEGMENT STACK

DB 200 DUP (0)

STACK ENDS

DATA SEGMENT

STR DB 'ABC&D $'

N =$-STR

BUF DB 'FIND ERROR! $'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

BEGIN:MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA SI,STR

LEA DI,STR

MOV CX,N

WRITE STR

CRLF

CLD

P1: LODSB

CMP AL,'&'

JE P2

STOSB

P2: LOOP P1

CMP SI,DI

JNE P3

WRITE BUF

JMP NEST

P3: WRITE STR

NEST: MOV AX,4C00H

INT 21H

CODE ENDS

END BEGIN

(3).将显示字符串和回车换行的指令段编成宏定义,存入宏库中,然后调用。

INCLUDE C:\Users\小鹰\Desktop\123.txt

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

STR DB 'ABC&D $'

N =$-STR

BUF DB 'FIND ERROR! $'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

BEGIN:MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA SI,STR

LEA DI,STR

MOV CX,N

WRITE STR

CRLF

CLD

P1: LODSB

CMP AL,'&'

JE P2

STOSB

P2: LOOP P1

CMP SI,DI

JNE P3

WRITE BUF

JMP NEST

P3: WRITE STR

NEST: MOV AX,4C00H

INT 21H

CODE ENDS

END BEGIN

2.利用串指令编程,从键盘上接受一串字符,排除其中非字母字符后在令一排上显示.

STACK SEGMENT STACK

DB 200 DUP (0)

STACK ENDS

DATA SEGMENT

A DB 10 DUP(?)

B DB 10 DUP(?)

BUF DB ‘PLEASE INPUT:$’

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA;CS:CODE:SS:STACK

STA: MOV AX,DATA

MOV DS,AX

LEA DL,BUF

MOV AH,9

INT 21H

LEA DX,A

MOV AH,10

INT 21H

MOV DL,0DH N

MOV AH,2

INT 21H

LEA SI,A Y

LEA DI,B

A: MOV AL,[SI] N

CMP AL,41H

JL C Y

CMP AL,5AH

JEC B

CMP AL,61H

JL C

CMP AL,71H

JG C

B:MOV [DI],AL

INC DI JNZ

C: INC SI

DEC CX JZ

JNZ A

MOV [DI],$

LEA AX,B

MOV AH,10

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END STA

3.利用串编程:在一字符串中搜索一字符$,如果找到,显示其在串中的位置,否则,显示‘not’。

STACK SEGMENT STACK

DB 200 DUP (0)

STACK ENDS

DATA SEGMENT

STR DB ‘A1234568$584R’

COUNT EQU $-STR

BUF 0AH,0DH,’NOT’

DATA ENDS

CODE SEGMENT

ASSUME DS:DATA;CS:CODE:SS:STACK

START: MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA DI,STR

MOV CX,COUNT N

MOV AL,$

P: REPNE SCASB

JE A

JMP B Y

A: INC DI

MOV AL,DI

MOV DL,AL

MOV AH,2

INT 21H

JMP XIT

B: LEA DX,BUF

MOV AH,9

INT 21H

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

4. 利用模块结构编程:从键盘上输入一个二位十进制的月份(01~12),然后显示相应月份的英文缩写名。

主模块:键盘接受一个二位十进制数,并换成二进制数;

子模块:有两个子程序构成:

(1) 依输入月份数查英文缩写月份名表;

EXTRN SEARCH:FAR,VIEW:FAR

PUBLIC BUF,BUF1

DATA SEGMENT 'D'

BUF DB ?,?,?

BUF1 DB 'JAN$'

DB 'FEB$'

DB 'MAR$'

DB 'APR$'

DB 'MAY$'

DB 'JUN$'

DB 'JUL$'

DB 'AUG$'

DB 'SEP$'

DB 'OCT$'

DB 'NOV$'

DB 'DEC$'

DATA ENDS

STACK SEGMENT STACK 'S'

DB 200 DUP(?)

STACK ENDS

CODE SEGMENT 'C'

ASSUME CS:CODE,SS:STACK,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV CL,1

MOV CH,12

INPUT: MOV AH,1

INT 21H

MOV BUF,AL

MOV AH,1

INT 21H

MOV BUF+1,AL

MOV AH,1

INT 21H

TRANS: SUB BUF,30H

SUB BUF+1,30H

MOV AL,10

MUL BUF

MOV BUF,AL

MOV AL,BUF+1

ADD BUF,AL

CALL SEARCH

CALL VIEW

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

(2) 显示查到的月份的英文缩写名。

EXTRN BUF:BYTE,BUF1:BYTE

PUBLIC SEARCH,VIEW

STACK SEGMENT STACK 'S1'

DB 200 DUP(?)

STACK ENDS

CODE SEGMENT 'C1'

ASSUME CS:CODE,SS:STACK

SEARCH PROC FAR

L1: CMP BUF,CL

JZ P_PNT

INC CL

JMP L1

P_PNT: DEC CL

MOV AL,4

MUL CL

MOV BX,AX

RET

ENDP

VIEW PROC FAR

MOV AH,2

MOV DL,0AH

INT 21H

LEA DX,BUF1[BX]

MOV AH,9

INT 21H

RET

ENDP

CODE ENDS

END

第五次上机作业

1. 利用软中断调用方式编程:在以BUF为首地址的字节存储区中,存有n个二位十进制的无符号整数,要求以相反的次序将这些数显示出来(要求:拼数和显示编写中断处理程序)。

寄存器分配:

BX:作为BUF为首地址的存储区的地址指针。

SI:作为BUF为首地址的存储区的地址指针。

AL,DL,AH:暂存数据。

CX:循环计数器。

主模块:

EXTRN INTR45:FAR

PUBLIC B

STACK SEGMENT STACK

DB 100 DUP(?)

STACK ENDS

DATA SEGMENT

BUF DB 15,18,22,24,5

n=$-BUF

B DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

START: MOV AX,SEG INTR45

MOV DS,AX

MOV DX,OFFSET INTR45

MOV AX,2545H

INT 21H

MOV AX,DATA

MOV DS,AX

MOV BX,0

LEA SI,BUF

MOV BX,n-1

MOV CX,n

L1: MOV DH,[SI+BX]

INT 45H

MOV AH,2

MOV DL,' '

INT 21H

DEC BX

LOOP L1

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

子模块:

PUBLIC INTR45

EXTRN B:BYTE

STACK SEGMENT STACK

DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK

INTR45 PROC FAR

MOV AL,DH

MOV AH,0

MOV B,10

DIV B

ADD AL,30H

ADD AH,30H

MOV B,AH

MOV AH,2

MOV DL,AL

INT 21H

MOV AH,2

MOV DL,B

INT 21H

IRET

ENDP

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END 输出:05 24 22 18 15

2.设计一个输入滚动区,接受一串字符写到文件C:ABC.TXT中。

STACK SEGMENT STACK

DB 200 DUP(0)

STACK ENDS

DATA SEGMENT

F_NAME DB’C:ABC.TXT’,0

F_NUM DW?

BUFIN 32767 DUP(0) 失败

DATA ENDS

CODE SEGMENT 成功

ASSUME DS:DATA;CS:CODE:SS:STACK

BEGIN: MOV AX,DATA

MOV DS,AX

MOV AX,3CH

MOV CX,0

LEA DX,F_NAME

INT 21H

JNC A

LEA DI,BUFIN

LEA DX,CE

MOV AH,9

INT 21H

JMP EXIT

A:MOV AH,6

MOV AL,1

MOV CX,0

MOV DX,0901H

INT 10

MOV DX,0901H

MOV AH,2

INT 10

INPUT: MOV CX,10 N

MOV AH,0AH

MOV AH,1 Y

INT 21H

MOV [DI],AL

INC DI

DEC CX

JZ ENDIN

JMP INPUT

ENDIN: MOV AH,40H

MOV BX,F_NUM

LEA DX,BUFIN

SUB DI,DX

MOV CX,DI

INT 21H

B: MOV AH,3EH

INT 21H

EXIT : MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

姓名:王飓烜

学号:080107031130

班级:08软件工程3班

汇编语言程序设计

姓名:xxx

学号:080107031xxx

班级:08软件工程3班

更多相关推荐:
国际结算实验心得

这是最后一部分实验心得我这有全套的实验报告实验心得此次实验课内容分为两部分汇票的制作和#5@p的制作在整个实验课过程中学到了一些东西明确了如何根据题目所给信息和要求制作相对应的汇票和#5@p但是在实验的过程中也遇到了一...

国际结算心得

本科生实验报告实验课程国际结算学院名称商学院专业名称国际经济与贸易学生姓名牟璐颖学生学号20xx08010222指导教师周雪莲实验地点南校区实验成绩二一四年十一月二一四年十二月1234

国际结算实验报告

编号:20XX-20XX学年第学期实验报告实验课程名称国际结算专业班级金融0901学号**学生姓名**实验指导教师**一、汇出汇款二、汇入汇款三、出口跟单托收四、光票托收五、进口代收六、进口信用证七、出口信用证…

国际结算实习心得实习报告

国际结算实习心得三个周末我们组6个同学一起在图书馆在自习室在宿舍查资料讨论分工填写实验报告共同完成了国际结算的实习在此期间我们不仅完成了国际结算报告的四项实验内容6项分情况小项的实验表格填写更是使我们熟悉了国际...

20xx-20xx-1国际结算实验报告

浙江大学城市学院实验报告纸编号:20XX-20XX学年第实验报告实验课程名称国际结算专业班级金融1002学号***学生姓名**实验指导教师***浙江大学城市学院实验报告纸实验名称国际结算实训操作一、汇出汇款二、…

国际结算实验报告

德州学院实验报告课程名称国际结算实验项目数6实验报告份数1学生姓名宋召燕学生学号20xx11806025专业班级20xx级国贸专科班指导教师毛丽君实验室名称经济管理系综合实验室20xx年11月30日一实验项目名...

国际结算结课心得

心得体会在这学期中我们学习了国际结算这门功课由于我们在这一学期同学们都面临着毕业与找工作的压力所以这学期的课程有许多同学都选择自学有几门课的老师都说我们大四学生的可不好上我在想可不就是嘛看看教室中坐着的同学在听...

郭峰杰国际结算实训心得

国际结算实训心得第18周国际结算的实训就这么过去了进行了一个礼拜的国际结算实训可以说比上课听讲累多了但是学到的东西也更多本次实训的其基本目的是有助于学生巩固已学过的国际特别是国际结算课程的基本理论加深对理论知识...

国际结算上机实验报告

XXX大学经济学院实验报告实验步骤及体会试验步骤试验项目一汇付流程在汇付这种结算方式中我选择了电汇电汇是指汇出行以加押电讯文件的方式将PO发送给汇入行授权其借记我帐或声明以借记他帐或告知其头寸已通过某一银行拨付...

国际结算上机模拟实验报告

XXX大学经济学院实验报告

国际结算学习心得

学习心得为期十二天的国际业务学习结束了通过这次学习让我长了知识也长了见识非常感谢行领导给予我的信任和帮助把这么宝贵的学习机会交给我我一定以此为契机加强全面学习努力工作用自己学到的知识为无极支行更好的服务现将学习...

国际结算实训报告

国际结算实训报告实训时间20xx年11月15号11月24日实训地点腾飞楼A座经济管理系机房实训目的和意义国际结算作为一门科学是以国际贸易学和国际金融学的理论原则为指导着重研究国际间债权债务的清偿形式和方法以及有...

国际结算实验心得(26篇)