?? program.fmt
字號:
;================================================================
; Port address definitions...
;================================================================
CONSTANT switch_in, 00 ; Switch read port
CONSTANT leds_out, 01 ; LED write port
CONSTANT uart_data_rx, 02 ; UART receive read port
CONSTANT uart_data_tx, 03 ; UART transmit write port
CONSTANT data_present, 04 ; UART stat read port, lsb
CONSTANT buffer_full, 05 ; UART stat read port, lsb
;================================================================
; Useful constant declarations...
;================================================================
CONSTANT all_clear, 00 ; define zero
CONSTANT ascii_NUL, 00 ; ascii code (null character)
CONSTANT ascii_SOH, 01 ; ascii code (start of header)
CONSTANT ascii_STX, 02 ; ascii code (start of text)
CONSTANT ascii_ETX, 03 ; ascii code (end of text)
CONSTANT ascii_EOT, 04 ; ascii code (end of xmit)
CONSTANT ascii_ENQ, 05 ; ascii code (enquiry)
CONSTANT ascii_ACK, 06 ; ascii code (acknowledge)
CONSTANT ascii_BEL, 07 ; ascii code (bell)
CONSTANT ascii_BS, 08 ; ascii code (backspace)
CONSTANT ascii_HT, 09 ; ascii code (horiz tab)
CONSTANT ascii_LF, 0A ; ascii code (line feed)
CONSTANT ascii_VT, 0B ; ascii code (vert tab)
CONSTANT ascii_FF, 0C ; ascii code (form feed)
CONSTANT ascii_CR, 0D ; ascii code (carriage return)
CONSTANT ascii_SO, 0E ; ascii code (shift out)
CONSTANT ascii_SI, 0F ; ascii code (shift in)
CONSTANT ascii_DLE, 10 ; ascii code (data link esc)
CONSTANT ascii_DC1, 11 ; ascii code (device ctrl 1, xon)
CONSTANT ascii_DC2, 12 ; ascii code (device ctrl 2)
CONSTANT ascii_DC3, 13 ; ascii code (device ctrl 3, xoff)
CONSTANT ascii_DC4, 14 ; ascii code (device ctrl 4)
CONSTANT ascii_NAK, 15 ; ascii code (negative acknowledge)
CONSTANT ascii_SYN, 16 ; ascii code (sync idle)
CONSTANT ascii_ETB, 17 ; ascii code (end xmit block)
CONSTANT ascii_CAN, 18 ; ascii code (cancel)
CONSTANT ascii_EM, 19 ; ascii code (end of medium)
CONSTANT ascii_SUB, 1A ; ascii code (substitute)
CONSTANT ascii_ESC, 1B ; ascii code (escape)
CONSTANT ascii_FS, 1C ; ascii code (file separator)
CONSTANT ascii_GS, 1D ; ascii code (group separator)
CONSTANT ascii_RS, 1E ; ascii code (record separator)
CONSTANT ascii_US, 1F ; ascii code (unit space)
CONSTANT ascii_SPACE, 20 ; ascii code
CONSTANT ascii_EXCLAIM, 21 ; ascii code
CONSTANT ascii_DBLQUOT, 22 ; ascii code
CONSTANT ascii_NUMSIGN, 23 ; ascii code
CONSTANT ascii_DOLLAR, 24 ; ascii code
CONSTANT ascii_PERCENT, 25 ; ascii code
CONSTANT ascii_AMP, 26 ; ascii code
CONSTANT ascii_SINQUOT, 27 ; ascii code
CONSTANT ascii_LPAREN, 28 ; ascii code
CONSTANT ascii_RPAREN, 29 ; ascii code
CONSTANT ascii_ASTERISK, 2A ; ascii code
CONSTANT ascii_PLUS, 2B ; ascii code
CONSTANT ascii_COMMA, 2C ; ascii code
CONSTANT ascii_MINUS, 2D ; ascii code
CONSTANT ascii_PERIOD, 2E ; ascii code
CONSTANT ascii_FWDSLASH, 2F ; ascii code
CONSTANT ascii_0, 30 ; ascii code
CONSTANT ascii_1, 31 ; ascii code
CONSTANT ascii_2, 32 ; ascii code
CONSTANT ascii_3, 33 ; ascii code
CONSTANT ascii_4, 34 ; ascii code
CONSTANT ascii_5, 35 ; ascii code
CONSTANT ascii_6, 36 ; ascii code
CONSTANT ascii_7, 37 ; ascii code
CONSTANT ascii_8, 38 ; ascii code
CONSTANT ascii_9, 39 ; ascii code
CONSTANT ascii_COLON, 3A ; ascii code
CONSTANT ascii_SEMI, 3B ; ascii code
CONSTANT ascii_LESS, 3C ; ascii code
CONSTANT ascii_EQUAL, 3D ; ascii code
CONSTANT ascii_GREATER, 3E ; ascii code
CONSTANT ascii_QUESTION, 3F ; ascii code
CONSTANT ascii_CIRCAT, 40 ; ascii code
CONSTANT ascii_A, 41 ; ascii code
CONSTANT ascii_B, 42 ; ascii code
CONSTANT ascii_C, 43 ; ascii code
CONSTANT ascii_D, 44 ; ascii code
CONSTANT ascii_E, 45 ; ascii code
CONSTANT ascii_F, 46 ; ascii code
CONSTANT ascii_G, 47 ; ascii code
CONSTANT ascii_H, 48 ; ascii code
CONSTANT ascii_I, 49 ; ascii code
CONSTANT ascii_J, 4A ; ascii code
CONSTANT ascii_K, 4B ; ascii code
CONSTANT ascii_L, 4C ; ascii code
CONSTANT ascii_M, 4D ; ascii code
CONSTANT ascii_N, 4E ; ascii code
CONSTANT ascii_O, 4F ; ascii code
CONSTANT ascii_P, 50 ; ascii code
CONSTANT ascii_Q, 51 ; ascii code
CONSTANT ascii_R, 52 ; ascii code
CONSTANT ascii_S, 53 ; ascii code
CONSTANT ascii_T, 54 ; ascii code
CONSTANT ascii_U, 55 ; ascii code
CONSTANT ascii_V, 56 ; ascii code
CONSTANT ascii_W, 57 ; ascii code
CONSTANT ascii_X, 58 ; ascii code
CONSTANT ascii_Y, 59 ; ascii code
CONSTANT ascii_Z, 5A ; ascii code
CONSTANT ascii_LBKT, 5B ; ascii code
CONSTANT ascii_BKSLASH, 5C ; ascii code
CONSTANT ascii_RBKT, 5D ; ascii code
CONSTANT ascii_CARET, 5E ; ascii code
CONSTANT ascii_UNDER, 5F ; ascii code
CONSTANT ascii_TICK, 60 ; ascii code
CONSTANT ascii_a, 61 ; ascii code
CONSTANT ascii_b, 62 ; ascii code
CONSTANT ascii_c, 63 ; ascii code
CONSTANT ascii_d, 64 ; ascii code
CONSTANT ascii_e, 65 ; ascii code
CONSTANT ascii_f, 66 ; ascii code
CONSTANT ascii_g, 67 ; ascii code
CONSTANT ascii_h, 68 ; ascii code
CONSTANT ascii_i, 69 ; ascii code
CONSTANT ascii_j, 6A ; ascii code
CONSTANT ascii_k, 6B ; ascii code
CONSTANT ascii_l, 6C ; ascii code
CONSTANT ascii_m, 6D ; ascii code
CONSTANT ascii_n, 6E ; ascii code
CONSTANT ascii_o, 6F ; ascii code
CONSTANT ascii_p, 70 ; ascii code
CONSTANT ascii_q, 71 ; ascii code
CONSTANT ascii_r, 72 ; ascii code
CONSTANT ascii_s, 73 ; ascii code
CONSTANT ascii_t, 74 ; ascii code
CONSTANT ascii_u, 75 ; ascii code
CONSTANT ascii_v, 76 ; ascii code
CONSTANT ascii_w, 77 ; ascii code
CONSTANT ascii_x, 78 ; ascii code
CONSTANT ascii_y, 79 ; ascii code
CONSTANT ascii_z, 7A ; ascii code
CONSTANT ascii_LBRACE, 7B ; ascii code
CONSTANT ascii_VBAR, 7C ; ascii code
CONSTANT ascii_RBRACE, 7D ; ascii code
CONSTANT ascii_TILDE, 7E ; ascii code
CONSTANT ascii_DEL, 7F ; ascii code
;================================================================
; Actual assembly program goes here...
;================================================================
cold_start: LOAD s0, all_clear ; zero out reg s0
; LAB TASK #2
; Write code to output a short (10 characters
; or less) message to the serial port.
LOAD s0, ascii_X ; load the value of 'X'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_i ; load the value of 'i'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_l ; load the value of 'l'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_i ; load the value of 'i'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_n ; load the value of 'n'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_x ; load the value of 'x'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_SPACE ; add a space
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_R ; load the value of 'R'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_u ; load the value of 'u'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_l ; load the value of 'l'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_e ; load the value of 'e'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
LOAD s0, ascii_s ; load the value of 's'
OUTPUT s0, uart_data_tx ; output value to hyperterminal
loop: INPUT s1, switch_in ; read switch state
OUTPUT s1, leds_out ; write it to leds
; LAB TASK #1
; Write code to read the switch state and
; then write it to the LED control port.
rs232_echo: LOAD s0, all_clear ; zero out reg s0 (nop)
; LAB TASK #3
; Write code to check if a byte has been
; received by the uart. If so, write it
; back to the uart transmit port. If not
; don't do anything and just...
JUMP loop ; loop again
;================================================================
;
;================================================================
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -