文档详情

西安邮电大学汇编语言自学课程上机代码.doc

发布:2017-04-02约5.47千字共10页下载文档
文本预览下载声明
 西安邮电大学 汇编语言自学课程 实验报告 (四次上机,代码完整版!!!) 1. 编写人机交互程序,在屏幕上显示提问“What is your name?”,并可输入回答信息“My name is……” STACK SEGMENT DB 64 DUP(?) STACK ENDS DATA SEGMENT BUFF DB 50,?,50 DUP(?) MES1 DB 0DH,0AH DB what is your name?:$ MES2 DB 0DH,0AH DB My name is:,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK,SS:STACK,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES1 MOV AH,9 INT 21H MOV DX,OFFSET BUFF MOV AH,0AH INT 21H MOV DX,OFFSET MES2 MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 1.编写一程序,要求比较两个字符串STRING1和STRING2所含的字符串是否相等,若相同则显示”MATCH”,若不同则显示”NOMATCH”. DATA SEGMENT STRING1 DB AAA STRING2 DB AAA YES DB MATCH,0DH,0AH,$ NO DB NOMATCH,0DH,0AH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AXkk LEA SI,STRING1 LEA DI,STRING2 MOV CX,STRING2-STRING1 CLD REPE CMPSB JNZ DISPNO MOV AH,9 LEA DX,YES INT 21H JMP EXIT DISPNO: MOV AH,9 LEA DX,NO INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START 2.设有字无符号数X,Y,试编程求Z=|X-Y| DATA SEGMENT ORG 10H X DW 100 ORG 20H Y DW 399 ORG 30H Z DW ? DIVISORS DW 10000,1000,100,10,1 RESULTS DB 0,0,0,0,0,$;5 ASCII DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AX,X SUB AX,Y ;无符号数产生错位CF=1 JAE NEXT ;无符号数条件跳转(CF=0跳转) NEG AX ;取补指令 NEXT: MOV Z,AX; MOV AX,Z MOV SI,OFFSET DIVISORS MOV DI,OFFSET RESULTS MOV CX,5 AA: MOV DX,0 DIV WORD PTR [SI]; ADD AL,48 MOV BYTE PTR[DI],AL INC DI ADD SI,2 MOV AX,DX LOOP AA MOV CX,4 MOV DI,OFFSET RESULTS BB: CMP BYTE PTR[DI],0; JNE PRINT INC DI LOOP BB PRINT: MOV DX,DI MOV AH,9 INT 21H MOV AX,4C00H INT 21H MOV AX,4C00H 1.编写求两个4位非压缩BCD数之和,将和送显示器显示的程序。 DATA SEGMENT X1 DB 4 DUP(?) X2 DB 4 DUP(?)
显示全部
相似文档