⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pass4.dat

📁 UART transmitter and receiver mocros
💻 DAT
📖 第 1 页 / 共 5 页
字号:
  OP2 VALUE-0B
    COMMENT-
    ADDRESS-053
      LABEL-
INSTRUCTION-CALL
   OPERAND1-transmit_alarm_time
  OP1 VALUE-0AC
   OPERAND2-
  OP2 VALUE-
    COMMENT-;transmit new alarm time and status
    ADDRESS-054
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-prompt_input
  OP1 VALUE-012
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-055
      LABEL-set_alarm_on_off
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
  OP1 VALUE-091
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-056
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-character_N
  OP2 VALUE-4E
    COMMENT-;test for 'ON'
    ADDRESS-057
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-test_OFF
  OP2 VALUE-060
    COMMENT-
    ADDRESS-058
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
  OP1 VALUE-091
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-059
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-character_CR
  OP2 VALUE-0D
    COMMENT-
    ADDRESS-05A
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-bad_input_command
  OP2 VALUE-01C
    COMMENT-
    ADDRESS-05B
      LABEL-
INSTRUCTION-FETCH
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-alarm_status
  OP2 VALUE-0C
    COMMENT-;turn alarm on
    ADDRESS-05C
      LABEL-
INSTRUCTION-OR
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-alarm_armed
  OP2 VALUE-02
    COMMENT-
    ADDRESS-05D
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-alarm_status
  OP2 VALUE-0C
    COMMENT-
    ADDRESS-05E
      LABEL-
INSTRUCTION-CALL
   OPERAND1-transmit_alarm_time
  OP1 VALUE-0AC
   OPERAND2-
  OP2 VALUE-
    COMMENT-;transmit alarm time and status
    ADDRESS-05F
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-prompt_input
  OP1 VALUE-012
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-060
      LABEL-test_OFF
INSTRUCTION-COMPARE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-character_F
  OP2 VALUE-46
    COMMENT-;test for for 'OFF'
    ADDRESS-061
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-bad_input_command
  OP2 VALUE-01C
    COMMENT-
    ADDRESS-062
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
  OP1 VALUE-091
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-063
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-character_F
  OP2 VALUE-46
    COMMENT-
    ADDRESS-064
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-bad_input_command
  OP2 VALUE-01C
    COMMENT-
    ADDRESS-065
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
  OP1 VALUE-091
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-066
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-character_CR
  OP2 VALUE-0D
    COMMENT-
    ADDRESS-067
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-bad_input_command
  OP2 VALUE-01C
    COMMENT-
    ADDRESS-068
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-00
  OP2 VALUE-00
    COMMENT-;turn alarm off and stop an active alarm
    ADDRESS-069
      LABEL-
INSTRUCTION-STORE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-alarm_status
  OP2 VALUE-0C
    COMMENT-
    ADDRESS-06A
      LABEL-
INSTRUCTION-CALL
   OPERAND1-alarm_drive
  OP1 VALUE-0A4
   OPERAND2-
  OP2 VALUE-
    COMMENT-;turn off alarm
    ADDRESS-06B
      LABEL-
INSTRUCTION-CALL
   OPERAND1-transmit_alarm_time
  OP1 VALUE-0AC
   OPERAND2-
  OP2 VALUE-
    COMMENT-;transmit alarm time and status
    ADDRESS-06C
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-prompt_input
  OP1 VALUE-012
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Read an 'hh:mm:ss' time string and provide new values.
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;The string must be provided in successive scratch pad memory locations
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;with the s1 register containing the location of the first character.
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;A correct time specification will result in the return of new values
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;as follows:-
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;       s6 = hours
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;       s5 = minutes
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;       s4 = seconds
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;If the syntax is incorrect or values are not in the correct ranges an
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;'Invalid Time' message will be transmitted and the CARRY flag will be set
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Registers used s0, s1, s6, s5 and s4
    ADDRESS-06D
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-06D
      LABEL-test_time_string
INSTRUCTION-CALL
   OPERAND1-2char_to_value
  OP1 VALUE-1EC
   OPERAND2-
  OP2 VALUE-
    COMMENT-;obtain hours value
    ADDRESS-06E
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-C
  OP1 VALUE-C
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-;test for non-decimal characters
    ADDRESS-06F
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s6
  OP1 VALUE-s6
   OPERAND2-s2
  OP2 VALUE-s2
    COMMENT-;remember hours
    ADDRESS-070
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
  OP1 VALUE-s1
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-;increment memory pointer past hours
    ADDRESS-071
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
  OP1 VALUE-091
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-072
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-character_colon
  OP2 VALUE-3A
    COMMENT-;test for colon
    ADDRESS-073
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-
    ADDRESS-074
      LABEL-
INSTRUCTION-CALL
   OPERAND1-2char_to_value
  OP1 VALUE-1EC
   OPERAND2-
  OP2 VALUE-
    COMMENT-;obtain minutes value
    ADDRESS-075
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-C
  OP1 VALUE-C
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-;test for non-decimal characters
    ADDRESS-076
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s5
  OP1 VALUE-s5
   OPERAND2-s2
  OP2 VALUE-s2
    COMMENT-;remember minutes
    ADDRESS-077
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
  OP1 VALUE-s1
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-;increment memory pointer past minutes
    ADDRESS-078
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
  OP1 VALUE-091
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-079
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-character_colon
  OP2 VALUE-3A
    COMMENT-;test for colon
    ADDRESS-07A
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-
    ADDRESS-07B
      LABEL-
INSTRUCTION-CALL
   OPERAND1-2char_to_value
  OP1 VALUE-1EC
   OPERAND2-
  OP2 VALUE-
    COMMENT-;obtain seconds value
    ADDRESS-07C
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-C
  OP1 VALUE-C
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-;test for non-decimal characters
    ADDRESS-07D
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s4
  OP1 VALUE-s4
   OPERAND2-s2
  OP2 VALUE-s2
    COMMENT-;remember minutes
    ADDRESS-07E
      LABEL-
INSTRUCTION-ADD
   OPERAND1-s1
  OP1 VALUE-s1
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-;increment memory pointer past seconds
    ADDRESS-07F
      LABEL-
INSTRUCTION-CALL
   OPERAND1-fetch_char_from_memory
  OP1 VALUE-091
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-080
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-character_CR
  OP2 VALUE-0D
    COMMENT-;finish with carriage return
    ADDRESS-081
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NZ
  OP1 VALUE-NZ
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-
    ADDRESS-082
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Have values for hh:mm:ss but need to test if each is valid range.
    ADDRESS-082
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s6
  OP1 VALUE-s6
   OPERAND2-hours_in_a_day
  OP2 VALUE-18
    COMMENT-
    ADDRESS-083
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NC
  OP1 VALUE-NC
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-
    ADDRESS-084
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s5
  OP1 VALUE-s5
   OPERAND2-minutes_in_an_hour
  OP2 VALUE-3C
    COMMENT-
    ADDRESS-085
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NC
  OP1 VALUE-NC
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-
    ADDRESS-086
      LABEL-
INSTRUCTION-COMPARE
   OPERAND1-s4
  OP1 VALUE-s4
   OPERAND2-seconds_in_a_minute
  OP2 VALUE-3C
    COMMENT-
    ADDRESS-087
      LABEL-
INSTRUCTION-JUMP
   OPERAND1-NC
  OP1 VALUE-NC
   OPERAND2-invalid_time
  OP2 VALUE-08B
    COMMENT-
    ADDRESS-088
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-00
  OP2 VALUE-00
    COMMENT-
    ADDRESS-089
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-
  OP2 VALUE-
    COMMENT-;reset CARRY flag (with s0=0)
    ADDRESS-08A
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;time string was OK
    ADDRESS-08B
      LABEL-invalid_time
INSTRUCTION-CALL
   OPERAND1-send_Invalid
  OP1 VALUE-125
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-08C
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_space
  OP1 VALUE-0E7
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-08D
      LABEL-
INSTRUCTION-CALL
   OPERAND1-send_Time
  OP1 VALUE-134
   OPERAND2-
  OP2 VALUE-
    COMMENT-
    ADDRESS-08E
      LABEL-
INSTRUCTION-LOAD
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-01
  OP2 VALUE-01
    COMMENT-
    ADDRESS-08F
      LABEL-
INSTRUCTION-SR0
   OPERAND1-s0
  OP1 VALUE-s0
   OPERAND2-
  OP2 VALUE-
    COMMENT-;set CARRY flag
    ADDRESS-090
      LABEL-
INSTRUCTION-RETURN
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;time string was bad
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;Fetch character from memory, convert to upper case
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;and increment memory pointer.
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-
   OPERAND2-
  OP2 VALUE-
    COMMENT-;
    ADDRESS-091
      LABEL-
INSTRUCTION-
   OPERAND1-
  OP1 VALUE-

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -