freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

word版可編輯-實現(xiàn)六位簡單計算器課程設計報告精心整理doc(編輯修改稿)

2024-08-11 22:46 本頁面
 

【文章內(nèi)容簡介】 ISP2: CALL DISP0 。當按下的是運算符時 要用另一個顯示 JMP ANJIANDISP1: CALL DISP 。等待按鍵按下的同時進行顯示 ANJIAN: MOV AL,0F0H 。所有行輸出低電平OUT 44H,ALIN AL,40HCMP AL,0FFH 。讀列值JZ CHECK 。若都為高電平則無鍵按下,等待MOV CX,50LOOP $ 。延時消抖IN AL,40H 。重讀列值CMP AL,0FFHJZ CHECK 。無鍵按下一直等待MOV H,0 。有鍵按下,先把行列號變量清0MOV L,0MOV BL,01HMOV BH,0FEH 。掃描法讀鍵值:從第一行開始測試,即PC0輸出低電平NEXT: MOV AL,BHOUT 44H,ALNEXTH: IN AL,40H 。讀列值,判斷是第幾列有鍵按下TEST AL,BL 。從第一列開始判斷JZ WAIT0ROL BL,1CMP BL,10H 。當前行狀態(tài)下沒有列有鍵按下,則轉為對下一行的測試JZ NEXTLINC H 。每判斷一列,列號加1JMP NEXTH 。再對下一列進行判斷NEXTL: MOV H,0MOV BL,01HROL BH,1 。對下一行測試,讓下一個PC口輸出低電平CMP BH,0EFHJZ EXITINC LJMP NEXTWAIT0: IN AL,40H 。若有鍵按下,則等該按鍵松開后再計算鍵值CMP AL,0FFHJNZ WAIT0MOV CX,50LOOP $ 。延時消抖IN AL,40HCMP AL,0FFHJNZ WAIT0CALL KEYVALUE 。調計算鍵值子程序EXIT: RETKEY ENDP。以下為計算鍵值子程序,通過行列號計算鍵值(鍵值=行號*4+列號)鍵值存放在DL寄存器中KEYVALUE PROCPUSH BXPUSH AXMOV DL,LMOV DH,HSHL DL,1SHL DL,1 。列號乘4ADD DL,DHCMP DL,9 。按下的是數(shù)字鍵JNG NUM_CALLCMP DL,14JL CONT_CALL 。按下的是運算鍵CMP DL,14JZ OUTP_CALL 。按下的是等于鍵CMP DL,15JZ CLR_CALL 。按下的是清除鍵NUM_CALL: 。按下的是數(shù)字鍵的程序 MOV PD,0CALL NUMBER 。調數(shù)字鍵處理子程序JMP EXIT1CONT_CALL: 。按下的是運算建的程序MOV S,DL 。存放運算鍵的鍵值MOV PD,1 。因為存放的是運算建,所以判斷符號變一下MOV E,0MOV CX,6LEA SI,NUMB0LEA DI,NUMB1MOV BX,0 LL:MOV AL,[DI]MOV [SI],AL 。把number1中的值賦給number0 MOV AL,[DI] 。 當輸入的是運算符時把number1中的數(shù)放到number2中,用于這時候的顯示MOV NUMB2[BX],AL 。這里BX對不對啊INC BXMOV AL,0MOV [DI],AL 。對number1清零INC DIINC SILOOP LLJMP EXIT1OUTP_CALL: 。按下的是等號的子程序 MOV PD,0CALL OUTP 。調等號鍵處理子程序JMP EXIT1CLR_CALL: 。按下的是復位的子程序MOV PD,0 CALL CLEAR 。調清除鍵處理子程序EXIT1: 。最后都會到這里的,哈哈POP AXPOP BX RETKEYVALUE ENDP。以下為清除鍵處理子程序,按下清除鍵后,變量全部清0CLEAR PROCMOV CX,6MOV SI,0AA:MOV NUMB0[SI],0 MOV NUMB1[SI],0 MOV NUMB2[SI],0MOV RESULT[SI],0MOV RESULT[SI+6],0INC SILOOP AAMOV CC,0RETCLEAR ENDP。以下為等號鍵處理子程序,根據(jù)運算符號,調用相應的運算子程序。OUTP PROCPUSH AXPUSH DXPUSH BXINC ECMP S,10JZ ADD_CALL 。運算符為加號,則調用加法子程序CMP S,11JZ SUB_CALL 。運算符為減號,則調用減法子程序CMP S,12JZ MUL_CALL 。運算符為乘號,則調用乘法子程序CMP S,13JZ DIV_CALL 。運算符為除號,則調用除法子程序ADD_CALL: CALL ADDPJMP STORE1SUB_CALL: CALL SUBPJMP STORE1MUL_CALL: CALL MULPJMP STORE1DIV_CALL: CALL DIVPSTORE1:MOV SI,0MOV CX,6BB:MOV AL,RESULT[SI]MOV NUMB1[SI],ALINC SILOOP BB MOV SI,0 。對number0進行清零MOV CX,6BB1:MOV AL,0MOV NUMB0[SI],ALINC SILOOP BB1POP BXPOP DXPOP AXRETOUTP ENDP。以下為數(shù)字鍵處理子程序。該程序,將輸入的數(shù)據(jù)按位存放在NUMB1變量中,并由CC記錄數(shù)據(jù)的位數(shù)NUMBER PROCPUSH BXPUSH AXCMP E,1JNZ CONTINUEMOV E,0CALL CLEARCONTINUE:CALL BITPCMP CC,0 。目前數(shù)據(jù)為0位,即沒有數(shù)據(jù),則轉到SSSJZ SSSMOV SI,5EE:MOV AL,NUMB1[SI1]MOV NUMB1[SI],ALDEC SICMP SI,0JNZ EESSS: MOV NUMB1[0],DL 。將當前鍵入的數(shù)據(jù)存放到NUMB1的最低位INC CC 。數(shù)據(jù)位數(shù)加1CMP CC,6 。判斷數(shù)據(jù)位數(shù)JNG EXIT2MOV CC,0 。如果數(shù)據(jù)超過6位,重新從最低位開始存放MOV NUMB1[5],0MOV NUMB1[4],0MOV NUMB1[3],0MOV NUMB1[2],0MOV NUMB1[1],0MOV NUMB1[0],0EXIT2: POP AXPOP BXRETNUMBER ENDP。加法程序ADDP PROC PUSH DX PUSH CX PUSH BX PUSH AX MOV BX,0 MOV CX,6 MOV DX,0 。初始化ADD2:MOV AX,0 MOV AL,NUMB0[BX]ADD AL,NUMB1[BX] 。 先兩數(shù)相加 AAA 。十進制轉換 MOV DH,AH MOV AH,0 ADD AL,DL 。再加低位進位 AAA ADD DH,AH MOV DL,DH 。保護進位 MOV RESULT[BX],AL INC BX LOOP ADD2 CMP DL,1 JZ YC 。溢出 JMP GG YC: MOV CX,5 MOV SI,5PP1:MOV RESULT[SI],0H DEC SI LOOP PP1 MOV RESULT[0],0FHGG: POP AX POP BX POP CX POP DX RETADDP ENDP。減法程序SUBP PROC PUSH DX PUSH CX PUSH BX PUSH AX LEA SI,NUMB0+5 LEA DI,NUMB1+5 MOV CX,6AP: MOV AL,[SI] CMP AL,[DI] JNZ XP DEC SI DEC DI LOOP AP 。從高位找出第一位不相同的數(shù)的下標XP: MOV AL,[SI] CMP AL,[DI] JA FUZHI JB CHGFUZHI: 。正常賦值 LEA SI,NUMB0 LEA DI,NUMB1 JMP SUB2CHG: 。交換賦值 LEA SI,NUMB1 LEA DI,NUMB0SUB2: 。減法開始 MOV BX,0 MOV CX,6 MOV DX,0 MOV AH,0 。初始化SUB1: MOV AH,0 MOV DH,0 MOV AL,[SI] SUB AL,[DI] AAS 。兩數(shù)相減 CMP AH,0FFH 。判斷是否有借位 JNZ HH 。無則跳轉 MOV DH,
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1