回覆列表
  • 1 # 使用者9405259858110

    ;求一個程式,微機原理,8086組合語言,實現一個簡單實用功能,如時鐘顯示

    ;

    ;在右上角顯示時鐘,按任一鍵結束

    ;用MASM5.0編譯透過.

    data segment

    HH DB 0,0,":"

    MM DB 0,0,":"

    SS1 DB 0,0

    data ends

    code segment

    main proc far

    assume cs:code

    start:

    push ds

    mov ax,0

    push ax

    mov ax,data

    mov ds,ax

    AGAIN:

    mov ah,2ch ;讀取系統時間 CH:CL--時:分 DH:DL--秒:百分秒

    int 21h

    MOV BX ,OFFSET HH

    MOV AL,CH

    CALL C16_10 ;轉換AL中16進製為10進位制,並填入相應位置

    MOV BX ,OFFSET MM

    MOV AL,CL ;分

    CALL C16_10

    MOV BX ,OFFSET SS1

    MOV AL,DH ;秒

    CALL C16_10

    MOV AH,2 ;游標定位

    MOV DH,0 ;首行

    MOV DL,70 ;70列

    MOV BH,0

    INT 10H

    MOV CX,8

    MOV SI,OFFSET HH

    NN1:

    MOV AH,0EH ;電傳方式寫字元(一次1個)

    MOV AL,[SI]

    MOV BL,0

    INT 10H

    INC SI

    LOOP NN1

    MOV AH,1

    INT 16H

    JNZ DOWN ;按任一鍵結束

    JMP AGAIN

    DOWN:

    RET

    main endp

    ;============

    C16_10 PROC NEAR

    PUSH CX ;將AL中的16進位制轉為10進位制

    MOV AH,0

    MOV CX,10D

    DIV CL

    ADD AX,3030H

    MOV [BX],AL

    INC BX

    MOV [BX],AH

    POP CX

    RET

    C16_10 ENDP

    ;=============

    code ends

    end start

  • 中秋節和大豐收的關聯?
  • 用一句話或者一個字來形容你的2018,你會怎麼形容?