Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 1 PC Object I Line Source A 1 ; Zilog Z8 Encore! ANSI C Compiler Release 3.60 A 2 ; -nolocalcse -optsize -fastcall -const=RAM -model=L A 3 ; -nooptlink -regvar -reduceopt -debug -norevaa -peephole A 4 ; -alias A 5 DEFINE main_TEXT,SPACE=ROM A 6 FILE "..\MAIN.C" A 7 .debug "C" A 8 SEGMENT main_TEXT A 9 .begrec "fmt_type",16 A 10 .define "status" A 11 .value 0 A 12 .class 8 A 13 .type 12 A 14 .type 0 A 15 .endef A 16 .define "flags" A 17 .value 1 A 18 .class 8 A 19 .type 12 A 20 .type 0 A 21 .endef A 22 .define "size" A 23 .value 2 A 24 .class 8 A 25 .type 2 A 26 .type 0 A 27 .endef A 28 .define "chr" A 29 .value 3 A 30 .class 8 A 31 .type 2 A 32 .type 0 A 33 .endef A 34 .define "type" A 35 .value 4 A 36 .class 8 A 37 .type 2 A 38 .type 0 A 39 .endef A 40 .define "field_width" A 41 .value 5 A 42 .class 8 A 43 .type 2 A 44 .type 0 A 45 .endef A 46 .define "precision" A 47 .value 6 A 48 .class 8 A 49 .type 2 A 50 .type 0 A 51 .endef A 52 .define "set_begin" Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 2 PC Object I Line Source main.src A 53 .value 7 A 54 .class 8 A 55 .type 162 A 56 .type 0 A 57 .endef A 58 .define "set_end" A 59 .value 9 A 60 .class 8 A 61 .type 162 A 62 .type 0 A 63 .endef A 64 .define "pad_whole" A 65 .value 11 A 66 .class 8 A 67 .type 12 A 68 .type 0 A 69 .endef A 70 .define "pad_pre_fract" A 71 .value 12 A 72 .class 8 A 73 .type 12 A 74 .type 0 A 75 .endef A 76 .define "pad_post_fract" A 77 .value 13 A 78 .class 8 A 79 .type 12 A 80 .type 0 A 81 .endef A 82 .define "pad_at" A 83 .value 14 A 84 .class 8 A 85 .type 162 A 86 .type 0 A 87 .endef A 88 .endrec "fmt_type" A 89 .begrec "flt_info",12 A 90 .define "flags" A 91 .value 0 A 92 .class 8 A 93 .type 12 A 94 .type 0 A 95 .endef A 96 .define "exp" A 97 .value 1 A 98 .class 8 A 99 .type 2 A 100 .type 0 A 101 .endef A 102 .define "digits" A 103 .value 2 A 104 .class 8 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 3 PC Object I Line Source main.src A 105 .dim 10 A 106 .type 108 A 107 .type 0 A 108 .endef A 109 .endrec "flt_info" A 110 DEFINE ___flash_option1_segment,SPACE=ROM,ORG=%0 A 111 SEGMENT ___flash_option1_segment 000000 A 112 _flash_option1: 000000 FF A 113 DB 255 A 114 .define "flash_option1" A 115 .alias "_flash_option1" A 116 .class 37 A 117 .value _flash_option1 A 118 .type 2 A 119 .type 0 A 120 .endef A 121 DEFINE ___flash_option2_segment,SPACE=ROM,ORG=%1 A 122 SEGMENT ___flash_option2_segment 000001 A 123 _flash_option2: 000001 FF A 124 DB 255 A 125 .define "flash_option2" A 126 .alias "_flash_option2" A 127 .class 37 A 128 .value _flash_option2 A 129 .type 2 A 130 .type 0 A 131 .endef A 132 SEGMENT FAR_DATA 000000 A 133 _subtmr: 000000 0A A 134 DB 10 A 135 .define "subtmr" A 136 .alias "_subtmr" A 137 .class 69 A 138 .value _subtmr A 139 .type 2 A 140 .type 0 A 141 .endef 000001 A 142 _t1: 000001 00 A 143 DB 0 A 144 .define "t1" A 145 .alias "_t1" A 146 .class 69 A 147 .value _t1 A 148 .type 2 A 149 .type 0 A 150 .endef 000002 A 151 _t2: 000002 00 A 152 DB 0 A 153 .define "t2" A 154 .alias "_t2" A 155 .class 69 A 156 .value _t2 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 4 PC Object I Line Source main.src A 157 .type 2 A 158 .type 0 A 159 .endef 000003 A 160 _t3: 000003 00 A 161 DB 0 A 162 .define "t3" A 163 .alias "_t3" A 164 .class 69 A 165 .value _t3 A 166 .type 2 A 167 .type 0 A 168 .endef 000004 A 169 _t4: 000004 00 A 170 DB 0 A 171 .define "t4" A 172 .alias "_t4" A 173 .class 69 A 174 .value _t4 A 175 .type 2 A 176 .type 0 A 177 .endef 000005 A 178 _t5: 000005 00 A 179 DB 0 A 180 .define "t5" A 181 .alias "_t5" A 182 .class 69 A 183 .value _t5 A 184 .type 2 A 185 .type 0 A 186 .endef A 187 SEGMENT FAR_BSS 000000 A 188 _lt1: 000000 A 189 DS 2*1 A 190 .define "lt1" A 191 .alias "_lt1" A 192 .class 83 A 193 .value _lt1 A 194 .type 3 A 195 .type 0 A 196 .endef A 197 SEGMENT FAR_DATA 000006 A 198 _ircode: 000006 00 A 199 DB 0 A 200 .define "ircode" A 201 .alias "_ircode" A 202 .class 69 A 203 .value _ircode A 204 .type 12 A 205 .type 0 A 206 .endef 000007 A 207 _oldir: 000007 00 A 208 DB 0 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 5 PC Object I Line Source main.src A 209 .define "oldir" A 210 .alias "_oldir" A 211 .class 69 A 212 .value _oldir A 213 .type 12 A 214 .type 0 A 215 .endef A 216 SEGMENT ROM_DATA A 217 A 218 A 219 ;**************************** _walk *************************** A 220 ;Name Addr/Register Size Type A 221 ;_wait IMPORT ----- function A 222 ;_move IMPORT ----- function A 223 ;_servo_out IMPORT ----- function A 224 ;angle R15-2 1 parameter A 225 A 226 A 227 ; Aggregate Stack Size: -2 (words) A 228 A 229 A 230 .FRAME _n_walk,?_n_walk,RDATA A 231 .FCALL _n_servo_out A 232 .FCALL _n_move A 233 .FCALL _n_wait A 234 .FRAME _f_walk,?_f_walk,EDATA A 235 .FCALL _f_servo_out A 236 .FCALL _f_move A 237 .FCALL _f_wait A 238 SEGMENT main_TEXT 000000 A 239 _walk: A 240 .define "_walk" A 241 .value _walk A 242 .class 2 A 243 .type 65 A 244 .type 0 A 245 .endef A 246 .begfunc "walk",54,"_walk" 000000 5C02 A 247 LD R5,#2 000002 D6 0000 A 248 CALL __b_frameset0 000005 89E8FE A 249 LDX -2(RR14),R8 000008 89E9FF A 250 LDX -1(RR14),R9 A 251 .define "angle" A 252 .class 9 A 253 .value -2 A 254 .type 3 A 255 .type 0 A 256 .endef A 257 ; 1 /********************************************************************/ A 258 ; 2 A 259 ; 3 #include A 260 ; 4 #include Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 6 PC Object I Line Source main.src A 261 ; 5 #include // non-standard I/O A 262 ; 6 #include "main.h" A 263 ; 7 #include "timer.h" A 264 ; 8 #include "test_button.h" A 265 ; 9 #include "uart.h" A 266 ; 10 #include "servo.h" A 267 ; 11 A 268 ; 12 // Default user flash optionbits. A 269 ; 13 FLASH_OPTION1 = 0xFF; A 270 ; 14 FLASH_OPTION2 = 0xFF; A 271 ; 15 A 272 ; 16 /////////////////////////////////////////////////////// A 273 ; 17 // Global - Variable A 274 ; 18 A 275 ; 19 char subtmr=10; A 276 ; 20 char t1=0; A 277 ; 21 char t2=0; A 278 ; 22 char t3=0; A 279 ; 23 char t4=0; A 280 ; 24 char t5=0; A 281 ; 25 int lt1; A 282 ; 26 char unsigned ircode=0; A 283 ; 27 char unsigned oldir=0; A 284 ; 28 A 285 ; 29 A 286 ; 30 A 287 ; 31 #define LEG1a 1 A 288 ; 32 #define LEG1b 2 A 289 ; 33 #define LEG2a 3 A 290 ; 34 #define LEG2b 4 A 291 ; 35 #define LEG3a 11 A 292 ; 36 #define LEG3b 12 A 293 ; 37 #define LEG4a 7 A 294 ; 38 #define LEG4b 8 A 295 ; 39 #define LEG5a 5 A 296 ; 40 #define LEG5b 6 A 297 ; 41 #define LEG6a 13 A 298 ; 42 #define LEG6b 14 A 299 ; 43 A 300 ; 44 // IR Codes, connected in PC7..PC4 A 301 ; 45 #define FWD 0x80 A 302 ; 46 #define REV 0x40 A 303 ; 47 #define TRIGHT 0x60 A 304 ; 48 #define TLEFT 0xa0 A 305 ; 49 #define STOP 0x90 A 306 ; 50 #define SIT 0xc0 A 307 ; 51 #define STAND 0x20 A 308 ; 52 A 309 ; 53 void walk(int angle) A 310 ; 54 { A 311 ; 55 servo_out(0,8,0xFF); // turn on servos A 312 .line 55 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 7 PC Object I Line Source main.src 00000B B0EC A 313 CLR R12 00000D DCFF A 314 LD R13,#255 00000F B0EA A 315 CLR R10 000011 BC08 A 316 LD R11,#8 000013 B0E8 A 317 CLR R8 000015 B0E9 A 318 CLR R9 000017 D6 0000 A 319 CALL _servo_out A 320 ; 56 servo_out(9,8,0xFF); A 321 .line 56 00001A B0EC A 322 CLR R12 00001C DCFF A 323 LD R13,#255 00001E B0EA A 324 CLR R10 000020 BC08 A 325 LD R11,#8 000022 B0E8 A 326 CLR R8 000024 9C09 A 327 LD R9,#9 000026 D6 0000 A 328 CALL _servo_out A 329 ; 57 A 330 ; 58 move(LEG1a,55,2); A 331 .line 58 000029 B0EC A 332 CLR R12 00002B DC02 A 333 LD R13,#2 00002D B0EA A 334 CLR R10 00002F BC37 A 335 LD R11,#55 000031 B0E8 A 336 CLR R8 000033 9C01 A 337 LD R9,#1 000035 D6 0000 A 338 CALL _move A 339 ; 59 move(LEG5a,-55,2); A 340 .line 59 000038 B0EC A 341 CLR R12 00003A DC02 A 342 LD R13,#2 00003C ACFF A 343 LD R10,#255 00003E BCC9 A 344 LD R11,#201 000040 B0E8 A 345 CLR R8 000042 9C05 A 346 LD R9,#5 000044 D6 0000 A 347 CALL _move A 348 ; 60 move(LEG3a,55,2); A 349 .line 60 000047 B0EC A 350 CLR R12 000049 DC02 A 351 LD R13,#2 00004B B0EA A 352 CLR R10 00004D BC37 A 353 LD R11,#55 00004F B0E8 A 354 CLR R8 000051 9C0B A 355 LD R9,#11 000053 D6 0000 A 356 CALL _move A 357 ; 61 move(LEG1b,angle,2); A 358 .line 61 000056 B0EC A 359 CLR R12 000058 DC02 A 360 LD R13,#2 00005A 88AEFE A 361 LDX R10,-2(RR14) 00005D 88BEFF A 362 LDX R11,-1(RR14) 000060 B0E8 A 363 CLR R8 000062 9C02 A 364 LD R9,#2 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 8 PC Object I Line Source main.src 000064 D6 0000 A 365 CALL _move A 366 ; 62 if(wait(6)!=0) return; A 367 .line 62 000067 B0E8 A 368 CLR R8 000069 9C06 A 369 LD R9,#6 00006B D6 0000 A 370 CALL _wait 00006E 4200 A 371 OR R0,R0 000070 ED 02 49 A 372 JR NE,_1_L_16 A 373 ; 63 move(LEG5b,-angle,2); A 374 .line 63 000073 B0EC A 375 CLR R12 000075 DC02 A 376 LD R13,#2 000077 882EFE A 377 LDX R2,-2(RR14) 00007A 883EFF A 378 LDX R3,-1(RR14) 00007D 60E2 A 379 COM R2 00007F 60E3 A 380 COM R3 000081 A0E2 A 381 INCW RR2 000083 1FE8EE2E EA A 382 LDWX RR10,RR2 000088 B0E8 A 383 CLR R8 00008A 9C06 A 384 LD R9,#6 00008C D6 0000 A 385 CALL _move A 386 ; 64 move(LEG1a,0,2); A 387 .line 64 00008F B0EC A 388 CLR R12 000091 DC02 A 389 LD R13,#2 000093 B0EA A 390 CLR R10 000095 B0EB A 391 CLR R11 000097 B0E8 A 392 CLR R8 000099 9C01 A 393 LD R9,#1 00009B D6 0000 A 394 CALL _move A 395 ; 65 if(wait(6)!=0) return; A 396 .line 65 00009E B0E8 A 397 CLR R8 0000A0 9C06 A 398 LD R9,#6 0000A2 D6 0000 A 399 CALL _wait 0000A5 4200 A 400 OR R0,R0 0000A7 ED 02 49 A 401 JR NE,_1_L_16 A 402 ; 66 move(LEG3b,angle,2); A 403 .line 66 0000AA B0EC A 404 CLR R12 0000AC DC02 A 405 LD R13,#2 0000AE 88AEFE A 406 LDX R10,-2(RR14) 0000B1 88BEFF A 407 LDX R11,-1(RR14) 0000B4 B0E8 A 408 CLR R8 0000B6 9C0C A 409 LD R9,#12 0000B8 D6 0000 A 410 CALL _move A 411 ; 67 move(LEG5a,0,2); A 412 .line 67 0000BB B0EC A 413 CLR R12 0000BD DC02 A 414 LD R13,#2 0000BF B0EA A 415 CLR R10 0000C1 B0EB A 416 CLR R11 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 9 PC Object I Line Source main.src 0000C3 B0E8 A 417 CLR R8 0000C5 9C05 A 418 LD R9,#5 0000C7 D6 0000 A 419 CALL _move A 420 ; 68 if(wait(6)!=0) return; A 421 .line 68 0000CA B0E8 A 422 CLR R8 0000CC 9C06 A 423 LD R9,#6 0000CE D6 0000 A 424 CALL _wait 0000D1 4200 A 425 OR R0,R0 0000D3 ED 02 49 A 426 JR NE,_1_L_16 A 427 ; 69 move(LEG3a,0,2); A 428 .line 69 0000D6 B0EC A 429 CLR R12 0000D8 DC02 A 430 LD R13,#2 0000DA B0EA A 431 CLR R10 0000DC B0EB A 432 CLR R11 0000DE B0E8 A 433 CLR R8 0000E0 9C0B A 434 LD R9,#11 0000E2 D6 0000 A 435 CALL _move A 436 ; 70 if(wait(6)!=0) return; A 437 .line 70 0000E5 B0E8 A 438 CLR R8 0000E7 9C06 A 439 LD R9,#6 0000E9 D6 0000 A 440 CALL _wait 0000EC 4200 A 441 OR R0,R0 0000EE ED 02 49 A 442 JR NE,_1_L_16 A 443 ; 71 move(LEG1b,-angle,3); A 444 .line 71 0000F1 B0EC A 445 CLR R12 0000F3 DC03 A 446 LD R13,#3 0000F5 882EFE A 447 LDX R2,-2(RR14) 0000F8 883EFF A 448 LDX R3,-1(RR14) 0000FB 60E2 A 449 COM R2 0000FD 60E3 A 450 COM R3 0000FF A0E2 A 451 INCW RR2 000101 1FE8EE2E EA A 452 LDWX RR10,RR2 000106 B0E8 A 453 CLR R8 000108 9C02 A 454 LD R9,#2 00010A D6 0000 A 455 CALL _move A 456 ; 72 move(LEG5b,angle,3); A 457 .line 72 00010D B0EC A 458 CLR R12 00010F DC03 A 459 LD R13,#3 000111 88AEFE A 460 LDX R10,-2(RR14) 000114 88BEFF A 461 LDX R11,-1(RR14) 000117 B0E8 A 462 CLR R8 000119 9C06 A 463 LD R9,#6 00011B D6 0000 A 464 CALL _move A 465 ; 73 move(LEG3b,-angle,3); A 466 .line 73 00011E B0EC A 467 CLR R12 000120 DC03 A 468 LD R13,#3 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 10 PC Object I Line Source main.src 000122 882EFE A 469 LDX R2,-2(RR14) 000125 883EFF A 470 LDX R3,-1(RR14) 000128 60E2 A 471 COM R2 00012A 60E3 A 472 COM R3 00012C A0E2 A 473 INCW RR2 00012E 1FE8EE2E EA A 474 LDWX RR10,RR2 000133 B0E8 A 475 CLR R8 000135 9C0C A 476 LD R9,#12 000137 D6 0000 A 477 CALL _move A 478 ; 74 A 479 ; 75 // Other side A 480 ; 76 A 481 ; 77 move(LEG2a,55,2); A 482 .line 77 00013A B0EC A 483 CLR R12 00013C DC02 A 484 LD R13,#2 00013E B0EA A 485 CLR R10 000140 BC37 A 486 LD R11,#55 000142 B0E8 A 487 CLR R8 000144 9C03 A 488 LD R9,#3 000146 D6 0000 A 489 CALL _move A 490 ; 78 move(LEG4a,-55,2); A 491 .line 78 000149 B0EC A 492 CLR R12 00014B DC02 A 493 LD R13,#2 00014D ACFF A 494 LD R10,#255 00014F BCC9 A 495 LD R11,#201 000151 B0E8 A 496 CLR R8 000153 9C07 A 497 LD R9,#7 000155 D6 0000 A 498 CALL _move A 499 ; 79 move(LEG6a,-55,2); A 500 .line 79 000158 B0EC A 501 CLR R12 00015A DC02 A 502 LD R13,#2 00015C ACFF A 503 LD R10,#255 00015E BCC9 A 504 LD R11,#201 000160 B0E8 A 505 CLR R8 000162 9C0D A 506 LD R9,#13 000164 D6 0000 A 507 CALL _move A 508 ; 80 move(LEG4b,-angle,2); A 509 .line 80 000167 B0EC A 510 CLR R12 000169 DC02 A 511 LD R13,#2 00016B 882EFE A 512 LDX R2,-2(RR14) 00016E 883EFF A 513 LDX R3,-1(RR14) 000171 60E2 A 514 COM R2 000173 60E3 A 515 COM R3 000175 A0E2 A 516 INCW RR2 000177 1FE8EE2E EA A 517 LDWX RR10,RR2 00017C B0E8 A 518 CLR R8 00017E 9C08 A 519 LD R9,#8 000180 D6 0000 A 520 CALL _move Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 11 PC Object I Line Source main.src A 521 ; 81 if(wait(6)!=0) return; A 522 .line 81 000183 B0E8 A 523 CLR R8 000185 9C06 A 524 LD R9,#6 000187 D6 0000 A 525 CALL _wait 00018A 4200 A 526 OR R0,R0 00018C ED 02 49 A 527 JR NE,_1_L_16 A 528 ; 82 move(LEG2b,angle,2); A 529 .line 82 00018F B0EC A 530 CLR R12 000191 DC02 A 531 LD R13,#2 000193 88AEFE A 532 LDX R10,-2(RR14) 000196 88BEFF A 533 LDX R11,-1(RR14) 000199 B0E8 A 534 CLR R8 00019B 9C04 A 535 LD R9,#4 00019D D6 0000 A 536 CALL _move A 537 ; 83 move(LEG4a,0,2); A 538 .line 83 0001A0 B0EC A 539 CLR R12 0001A2 DC02 A 540 LD R13,#2 0001A4 B0EA A 541 CLR R10 0001A6 B0EB A 542 CLR R11 0001A8 B0E8 A 543 CLR R8 0001AA 9C07 A 544 LD R9,#7 0001AC D6 0000 A 545 CALL _move A 546 ; 84 if(wait(6)!=0) return; A 547 .line 84 0001AF B0E8 A 548 CLR R8 0001B1 9C06 A 549 LD R9,#6 0001B3 D6 0000 A 550 CALL _wait 0001B6 4200 A 551 OR R0,R0 0001B8 ED 02 49 A 552 JR NE,_1_L_16 A 553 ; 85 move(LEG6b,-angle,2); A 554 .line 85 0001BB B0EC A 555 CLR R12 0001BD DC02 A 556 LD R13,#2 0001BF 882EFE A 557 LDX R2,-2(RR14) 0001C2 883EFF A 558 LDX R3,-1(RR14) 0001C5 60E2 A 559 COM R2 0001C7 60E3 A 560 COM R3 0001C9 A0E2 A 561 INCW RR2 0001CB 1FE8EE2E EA A 562 LDWX RR10,RR2 0001D0 B0E8 A 563 CLR R8 0001D2 9C0E A 564 LD R9,#14 0001D4 D6 0000 A 565 CALL _move A 566 ; 86 move(LEG2a,0,2); A 567 .line 86 0001D7 B0EC A 568 CLR R12 0001D9 DC02 A 569 LD R13,#2 0001DB B0EA A 570 CLR R10 0001DD B0EB A 571 CLR R11 0001DF B0E8 A 572 CLR R8 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 12 PC Object I Line Source main.src 0001E1 9C03 A 573 LD R9,#3 0001E3 D6 0000 A 574 CALL _move A 575 ; 87 if(wait(6)!=0) return; A 576 .line 87 0001E6 B0E8 A 577 CLR R8 0001E8 9C06 A 578 LD R9,#6 0001EA D6 0000 A 579 CALL _wait 0001ED 4200 A 580 OR R0,R0 0001EF EB 58 A 581 JR NE,_1_L_16 A 582 ; 88 move(LEG6a,0,2); A 583 .line 88 0001F1 B0EC A 584 CLR R12 0001F3 DC02 A 585 LD R13,#2 0001F5 B0EA A 586 CLR R10 0001F7 B0EB A 587 CLR R11 0001F9 B0E8 A 588 CLR R8 0001FB 9C0D A 589 LD R9,#13 0001FD D6 0000 A 590 CALL _move A 591 ; 89 if(wait(6)!=0) return; A 592 .line 89 000200 B0E8 A 593 CLR R8 000202 9C06 A 594 LD R9,#6 000204 D6 0000 A 595 CALL _wait 000207 4200 A 596 OR R0,R0 000209 EB 3E A 597 JR NE,_1_L_16 A 598 ; 90 move(LEG2b,-angle,4); A 599 .line 90 00020B B0EC A 600 CLR R12 00020D DC04 A 601 LD R13,#4 00020F 880EFE A 602 LDX R0,-2(RR14) 000212 881EFF A 603 LDX R1,-1(RR14) 000215 60E0 A 604 COM R0 000217 60E1 A 605 COM R1 000219 A0E0 A 606 INCW RR0 00021B 1FE8EE0E EA A 607 LDWX RR10,RR0 000220 B0E8 A 608 CLR R8 000222 9C04 A 609 LD R9,#4 000224 D6 0000 A 610 CALL _move A 611 ; 91 move(LEG4b,angle,4); A 612 .line 91 000227 B0EC A 613 CLR R12 000229 DC04 A 614 LD R13,#4 00022B 88AEFE A 615 LDX R10,-2(RR14) 00022E 88BEFF A 616 LDX R11,-1(RR14) 000231 B0E8 A 617 CLR R8 000233 9C08 A 618 LD R9,#8 000235 D6 0000 A 619 CALL _move A 620 ; 92 move(LEG6b,angle,4); A 621 .line 92 000238 B0EC A 622 CLR R12 00023A DC04 A 623 LD R13,#4 00023C 88AEFE A 624 LDX R10,-2(RR14) Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 13 PC Object I Line Source main.src 00023F 88BEFF A 625 LDX R11,-1(RR14) 000242 B0E8 A 626 CLR R8 000244 9C0E A 627 LD R9,#14 000246 D6 0000 A 628 CALL _move A 629 ; 93 } 000249 A 630 _1_L_16: A 631 .line 93 000249 D6 0000 A 632 CALL __b_framereset 00024C AF A 633 RET A 634 .endfunc "walk",93,"_walk" A 635 SEGMENT ROM_DATA A 636 A 637 A 638 ;**************************** _forward *************************** A 639 ;Name Addr/Register Size Type A 640 A 641 A 642 ; Aggregate Stack Size: 0 (words) A 643 A 644 A 645 .FRAME _n_forward,?_n_forward,RDATA A 646 .FCALL _n_walk A 647 .FRAME _f_forward,?_f_forward,EDATA A 648 .FCALL _f_walk A 649 SEGMENT main_TEXT 00024D A 650 _forward: A 651 .define "_forward" A 652 .value _forward A 653 .class 2 A 654 .type 65 A 655 .type 0 A 656 .endef A 657 .begfunc "forward",96,"_forward" 00024D D6 0000 A 658 CALL __b_frameset00 A 659 ; 94 A 660 ; 95 void forward(void) A 661 ; 96 { A 662 ; 97 walk(-35); A 663 .line 97 000250 8CFF A 664 LD R8,#255 000252 9CDD A 665 LD R9,#221 000254 D6 0000 A 666 CALL _walk A 667 ; 98 } A 668 .line 98 000257 D6 0000 A 669 CALL __b_framereset 00025A AF A 670 RET A 671 .endfunc "forward",98,"_forward" A 672 SEGMENT ROM_DATA A 673 A 674 A 675 ;**************************** _reverse *************************** A 676 ;Name Addr/Register Size Type Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 14 PC Object I Line Source main.src A 677 A 678 A 679 ; Aggregate Stack Size: 0 (words) A 680 A 681 A 682 .FRAME _n_reverse,?_n_reverse,RDATA A 683 .FCALL _n_walk A 684 .FRAME _f_reverse,?_f_reverse,EDATA A 685 .FCALL _f_walk A 686 SEGMENT main_TEXT 00025B A 687 _reverse: A 688 .define "_reverse" A 689 .value _reverse A 690 .class 2 A 691 .type 65 A 692 .type 0 A 693 .endef A 694 .begfunc "reverse",101,"_reverse" 00025B D6 0000 A 695 CALL __b_frameset00 A 696 ; 99 A 697 ; 100 void reverse(void) A 698 ; 101 { A 699 ; 102 walk(35); A 700 .line 102 00025E B0E8 A 701 CLR R8 000260 9C23 A 702 LD R9,#35 000262 D6 0000 A 703 CALL _walk A 704 ; 103 } A 705 .line 103 000265 D6 0000 A 706 CALL __b_framereset 000268 AF A 707 RET A 708 .endfunc "reverse",103,"_reverse" A 709 SEGMENT ROM_DATA A 710 A 711 A 712 ;**************************** _tenhut *************************** A 713 ;Name Addr/Register Size Type A 714 ;_oldir STATIC 0 variable A 715 ;_wait IMPORT ----- function A 716 ;_move IMPORT ----- function A 717 ;_servo_out IMPORT ----- function A 718 A 719 A 720 ; Aggregate Stack Size: 0 (words) A 721 A 722 A 723 .FRAME _n_tenhut,?_n_tenhut,RDATA A 724 .FCALL _n_servo_out A 725 .FCALL _n_move A 726 .FCALL _n_wait A 727 .FRAME _f_tenhut,?_f_tenhut,EDATA A 728 .FCALL _f_servo_out Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 15 PC Object I Line Source main.src A 729 .FCALL _f_move A 730 .FCALL _f_wait A 731 SEGMENT main_TEXT 000269 A 732 _tenhut: A 733 .define "_tenhut" A 734 .value _tenhut A 735 .class 2 A 736 .type 65 A 737 .type 0 A 738 .endef A 739 .begfunc "tenhut",106,"_tenhut" 000269 D6 0000 A 740 CALL __b_frameset00 A 741 ; 104 A 742 ; 105 void tenhut(void) A 743 ; 106 { A 744 ; 107 servo_out(0,8,0xFF); // turn on servos A 745 .line 107 00026C B0EC A 746 CLR R12 00026E DCFF A 747 LD R13,#255 000270 B0EA A 748 CLR R10 000272 BC08 A 749 LD R11,#8 000274 B0E8 A 750 CLR R8 000276 B0E9 A 751 CLR R9 000278 D6 0000 A 752 CALL _servo_out A 753 ; 108 servo_out(9,8,0xFF); A 754 .line 108 00027B B0EC A 755 CLR R12 00027D DCFF A 756 LD R13,#255 00027F B0EA A 757 CLR R10 000281 BC08 A 758 LD R11,#8 000283 B0E8 A 759 CLR R8 000285 9C09 A 760 LD R9,#9 000287 D6 0000 A 761 CALL _servo_out A 762 ; 109 // all legs stand up A 763 ; 110 move(LEG1a,0,3); A 764 .line 110 00028A B0EC A 765 CLR R12 00028C DC03 A 766 LD R13,#3 00028E B0EA A 767 CLR R10 000290 B0EB A 768 CLR R11 000292 B0E8 A 769 CLR R8 000294 9C01 A 770 LD R9,#1 000296 D6 0000 A 771 CALL _move A 772 ; 111 move(LEG2a,0,3); A 773 .line 111 000299 B0EC A 774 CLR R12 00029B DC03 A 775 LD R13,#3 00029D B0EA A 776 CLR R10 00029F B0EB A 777 CLR R11 0002A1 B0E8 A 778 CLR R8 0002A3 9C03 A 779 LD R9,#3 0002A5 D6 0000 A 780 CALL _move Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 16 PC Object I Line Source main.src A 781 ; 112 move(LEG3a,0,3); A 782 .line 112 0002A8 B0EC A 783 CLR R12 0002AA DC03 A 784 LD R13,#3 0002AC B0EA A 785 CLR R10 0002AE B0EB A 786 CLR R11 0002B0 B0E8 A 787 CLR R8 0002B2 9C0B A 788 LD R9,#11 0002B4 D6 0000 A 789 CALL _move A 790 ; 113 move(LEG4a,0,3); A 791 .line 113 0002B7 B0EC A 792 CLR R12 0002B9 DC03 A 793 LD R13,#3 0002BB B0EA A 794 CLR R10 0002BD B0EB A 795 CLR R11 0002BF B0E8 A 796 CLR R8 0002C1 9C07 A 797 LD R9,#7 0002C3 D6 0000 A 798 CALL _move A 799 ; 114 move(LEG5a,0,3); A 800 .line 114 0002C6 B0EC A 801 CLR R12 0002C8 DC03 A 802 LD R13,#3 0002CA B0EA A 803 CLR R10 0002CC B0EB A 804 CLR R11 0002CE B0E8 A 805 CLR R8 0002D0 9C05 A 806 LD R9,#5 0002D2 D6 0000 A 807 CALL _move A 808 ; 115 move(LEG6a,0,3); A 809 .line 115 0002D5 B0EC A 810 CLR R12 0002D7 DC03 A 811 LD R13,#3 0002D9 B0EA A 812 CLR R10 0002DB B0EB A 813 CLR R11 0002DD B0E8 A 814 CLR R8 0002DF 9C0D A 815 LD R9,#13 0002E1 D6 0000 A 816 CALL _move A 817 ; 116 if(wait(6)!=0) return; A 818 .line 116 0002E4 B0E8 A 819 CLR R8 0002E6 9C06 A 820 LD R9,#6 0002E8 D6 0000 A 821 CALL _wait 0002EB 4200 A 822 OR R0,R0 0002ED ED 04 62 A 823 JR NE,_4_L_31 A 824 ; 117 move(LEG1a,55,2); A 825 .line 117 0002F0 B0EC A 826 CLR R12 0002F2 DC02 A 827 LD R13,#2 0002F4 B0EA A 828 CLR R10 0002F6 BC37 A 829 LD R11,#55 0002F8 B0E8 A 830 CLR R8 0002FA 9C01 A 831 LD R9,#1 0002FC D6 0000 A 832 CALL _move Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 17 PC Object I Line Source main.src A 833 ; 118 move(LEG5a,-55,2); A 834 .line 118 0002FF B0EC A 835 CLR R12 000301 DC02 A 836 LD R13,#2 000303 ACFF A 837 LD R10,#255 000305 BCC9 A 838 LD R11,#201 000307 B0E8 A 839 CLR R8 000309 9C05 A 840 LD R9,#5 00030B D6 0000 A 841 CALL _move A 842 ; 119 move(LEG3a,55,2); A 843 .line 119 00030E B0EC A 844 CLR R12 000310 DC02 A 845 LD R13,#2 000312 B0EA A 846 CLR R10 000314 BC37 A 847 LD R11,#55 000316 B0E8 A 848 CLR R8 000318 9C0B A 849 LD R9,#11 00031A D6 0000 A 850 CALL _move A 851 ; 120 if(wait(6)!=0) return; A 852 .line 120 00031D B0E8 A 853 CLR R8 00031F 9C06 A 854 LD R9,#6 000321 D6 0000 A 855 CALL _wait 000324 4200 A 856 OR R0,R0 000326 ED 04 62 A 857 JR NE,_4_L_31 A 858 ; 121 move(LEG1b,30,2); A 859 .line 121 000329 B0EC A 860 CLR R12 00032B DC02 A 861 LD R13,#2 00032D B0EA A 862 CLR R10 00032F BC1E A 863 LD R11,#30 000331 B0E8 A 864 CLR R8 000333 9C02 A 865 LD R9,#2 000335 D6 0000 A 866 CALL _move A 867 ; 122 move(LEG5b,0,2); A 868 .line 122 000338 B0EC A 869 CLR R12 00033A DC02 A 870 LD R13,#2 00033C B0EA A 871 CLR R10 00033E B0EB A 872 CLR R11 000340 B0E8 A 873 CLR R8 000342 9C06 A 874 LD R9,#6 000344 D6 0000 A 875 CALL _move A 876 ; 123 move(LEG3b,-30,2); A 877 .line 123 000347 B0EC A 878 CLR R12 000349 DC02 A 879 LD R13,#2 00034B ACFF A 880 LD R10,#255 00034D BCE2 A 881 LD R11,#226 00034F B0E8 A 882 CLR R8 000351 9C0C A 883 LD R9,#12 000353 D6 0000 A 884 CALL _move Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 18 PC Object I Line Source main.src A 885 ; 124 if(wait(6)!=0) return; A 886 .line 124 000356 B0E8 A 887 CLR R8 000358 9C06 A 888 LD R9,#6 00035A D6 0000 A 889 CALL _wait 00035D 4200 A 890 OR R0,R0 00035F ED 04 62 A 891 JR NE,_4_L_31 A 892 ; 125 move(LEG1a,0,2); A 893 .line 125 000362 B0EC A 894 CLR R12 000364 DC02 A 895 LD R13,#2 000366 B0EA A 896 CLR R10 000368 B0EB A 897 CLR R11 00036A B0E8 A 898 CLR R8 00036C 9C01 A 899 LD R9,#1 00036E D6 0000 A 900 CALL _move A 901 ; 126 move(LEG5a,0,2); A 902 .line 126 000371 B0EC A 903 CLR R12 000373 DC02 A 904 LD R13,#2 000375 B0EA A 905 CLR R10 000377 B0EB A 906 CLR R11 000379 B0E8 A 907 CLR R8 00037B 9C05 A 908 LD R9,#5 00037D D6 0000 A 909 CALL _move A 910 ; 127 move(LEG3a,0,2); A 911 .line 127 000380 B0EC A 912 CLR R12 000382 DC02 A 913 LD R13,#2 000384 B0EA A 914 CLR R10 000386 B0EB A 915 CLR R11 000388 B0E8 A 916 CLR R8 00038A 9C0B A 917 LD R9,#11 00038C D6 0000 A 918 CALL _move A 919 ; 128 if(wait(6)!=0) return; A 920 .line 128 00038F B0E8 A 921 CLR R8 000391 9C06 A 922 LD R9,#6 000393 D6 0000 A 923 CALL _wait 000396 4200 A 924 OR R0,R0 000398 ED 04 62 A 925 JR NE,_4_L_31 A 926 ; 129 move(LEG2a,55,2); A 927 .line 129 00039B B0EC A 928 CLR R12 00039D DC02 A 929 LD R13,#2 00039F B0EA A 930 CLR R10 0003A1 BC37 A 931 LD R11,#55 0003A3 B0E8 A 932 CLR R8 0003A5 9C03 A 933 LD R9,#3 0003A7 D6 0000 A 934 CALL _move A 935 ; 130 move(LEG4a,-55,2); A 936 .line 130 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 19 PC Object I Line Source main.src 0003AA B0EC A 937 CLR R12 0003AC DC02 A 938 LD R13,#2 0003AE ACFF A 939 LD R10,#255 0003B0 BCC9 A 940 LD R11,#201 0003B2 B0E8 A 941 CLR R8 0003B4 9C07 A 942 LD R9,#7 0003B6 D6 0000 A 943 CALL _move A 944 ; 131 move(LEG6a,-55,2); A 945 .line 131 0003B9 B0EC A 946 CLR R12 0003BB DC02 A 947 LD R13,#2 0003BD ACFF A 948 LD R10,#255 0003BF BCC9 A 949 LD R11,#201 0003C1 B0E8 A 950 CLR R8 0003C3 9C0D A 951 LD R9,#13 0003C5 D6 0000 A 952 CALL _move A 953 ; 132 if(wait(6)!=0) return; A 954 .line 132 0003C8 B0E8 A 955 CLR R8 0003CA 9C06 A 956 LD R9,#6 0003CC D6 0000 A 957 CALL _wait 0003CF 4200 A 958 OR R0,R0 0003D1 ED 04 62 A 959 JR NE,_4_L_31 A 960 ; 133 move(LEG2b,0,2); A 961 .line 133 0003D4 B0EC A 962 CLR R12 0003D6 DC02 A 963 LD R13,#2 0003D8 B0EA A 964 CLR R10 0003DA B0EB A 965 CLR R11 0003DC B0E8 A 966 CLR R8 0003DE 9C04 A 967 LD R9,#4 0003E0 D6 0000 A 968 CALL _move A 969 ; 134 move(LEG4b,-30,2); A 970 .line 134 0003E3 B0EC A 971 CLR R12 0003E5 DC02 A 972 LD R13,#2 0003E7 ACFF A 973 LD R10,#255 0003E9 BCE2 A 974 LD R11,#226 0003EB B0E8 A 975 CLR R8 0003ED 9C08 A 976 LD R9,#8 0003EF D6 0000 A 977 CALL _move A 978 ; 135 move(LEG6b,30,2); A 979 .line 135 0003F2 B0EC A 980 CLR R12 0003F4 DC02 A 981 LD R13,#2 0003F6 B0EA A 982 CLR R10 0003F8 BC1E A 983 LD R11,#30 0003FA B0E8 A 984 CLR R8 0003FC 9C0E A 985 LD R9,#14 0003FE D6 0000 A 986 CALL _move A 987 ; 136 if(wait(6)!=0) return; A 988 .line 136 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 20 PC Object I Line Source main.src 000401 B0E8 A 989 CLR R8 000403 9C06 A 990 LD R9,#6 000405 D6 0000 A 991 CALL _wait 000408 4200 A 992 OR R0,R0 00040A EB 56 A 993 JR NE,_4_L_31 A 994 ; 137 move(LEG2a,0,2); A 995 .line 137 00040C B0EC A 996 CLR R12 00040E DC02 A 997 LD R13,#2 000410 B0EA A 998 CLR R10 000412 B0EB A 999 CLR R11 000414 B0E8 A 1000 CLR R8 000416 9C03 A 1001 LD R9,#3 000418 D6 0000 A 1002 CALL _move A 1003 ; 138 move(LEG4a,0,2); A 1004 .line 138 00041B B0EC A 1005 CLR R12 00041D DC02 A 1006 LD R13,#2 00041F B0EA A 1007 CLR R10 000421 B0EB A 1008 CLR R11 000423 B0E8 A 1009 CLR R8 000425 9C07 A 1010 LD R9,#7 000427 D6 0000 A 1011 CALL _move A 1012 ; 139 move(LEG6a,0,2); A 1013 .line 139 00042A B0EC A 1014 CLR R12 00042C DC02 A 1015 LD R13,#2 00042E B0EA A 1016 CLR R10 000430 B0EB A 1017 CLR R11 000432 B0E8 A 1018 CLR R8 000434 9C0D A 1019 LD R9,#13 000436 D6 0000 A 1020 CALL _move A 1021 ; 140 wait(30); A 1022 .line 140 000439 B0E8 A 1023 CLR R8 00043B 9C1E A 1024 LD R9,#30 00043D D6 0000 A 1025 CALL _wait A 1026 ; 141 servo_out(0,8,0x00); // turn off servos A 1027 .line 141 000440 B0EC A 1028 CLR R12 000442 B0ED A 1029 CLR R13 000444 B0EA A 1030 CLR R10 000446 BC08 A 1031 LD R11,#8 000448 B0E8 A 1032 CLR R8 00044A B0E9 A 1033 CLR R9 00044C D6 0000 A 1034 CALL _servo_out A 1035 ; 142 servo_out(9,8,0x00); A 1036 .line 142 00044F B0EC A 1037 CLR R12 000451 B0ED A 1038 CLR R13 000453 B0EA A 1039 CLR R10 000455 BC08 A 1040 LD R11,#8 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 21 PC Object I Line Source main.src 000457 B0E8 A 1041 CLR R8 000459 9C09 A 1042 LD R9,#9 00045B D6 0000 A 1043 CALL _servo_out A 1044 ; 143 oldir=0; // to make sure this wont repeat A 1045 .line 143 00045E E9000007 A 1046 LDX _oldir,#-0 A 1047 ; 144 } 000462 A 1048 _4_L_31: A 1049 .line 144 000462 D6 0000 A 1050 CALL __b_framereset 000465 AF A 1051 RET A 1052 .endfunc "tenhut",144,"_tenhut" A 1053 SEGMENT ROM_DATA A 1054 A 1055 A 1056 ;**************************** _turn *************************** A 1057 ;Name Addr/Register Size Type A 1058 ;_wait IMPORT ----- function A 1059 ;_move IMPORT ----- function A 1060 ;_servo_out IMPORT ----- function A 1061 ;angle R15-2 1 parameter A 1062 A 1063 A 1064 ; Aggregate Stack Size: -2 (words) A 1065 A 1066 A 1067 .FRAME _n_turn,?_n_turn,RDATA A 1068 .FCALL _n_servo_out A 1069 .FCALL _n_move A 1070 .FCALL _n_wait A 1071 .FRAME _f_turn,?_f_turn,EDATA A 1072 .FCALL _f_servo_out A 1073 .FCALL _f_move A 1074 .FCALL _f_wait A 1075 SEGMENT main_TEXT 000466 A 1076 _turn: A 1077 .define "_turn" A 1078 .value _turn A 1079 .class 2 A 1080 .type 65 A 1081 .type 0 A 1082 .endef A 1083 .begfunc "turn",148,"_turn" 000466 5C02 A 1084 LD R5,#2 000468 D6 0000 A 1085 CALL __b_frameset0 00046B 89E8FE A 1086 LDX -2(RR14),R8 00046E 89E9FF A 1087 LDX -1(RR14),R9 A 1088 .define "angle" A 1089 .class 9 A 1090 .value -2 A 1091 .type 3 A 1092 .type 0 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 22 PC Object I Line Source main.src A 1093 .endef A 1094 ; 145 A 1095 ; 146 A 1096 ; 147 void turn(int angle) A 1097 ; 148 { A 1098 ; 149 servo_out(0,8,0xFF); // turn on servos A 1099 .line 149 000471 B0EC A 1100 CLR R12 000473 DCFF A 1101 LD R13,#255 000475 B0EA A 1102 CLR R10 000477 BC08 A 1103 LD R11,#8 000479 B0E8 A 1104 CLR R8 00047B B0E9 A 1105 CLR R9 00047D D6 0000 A 1106 CALL _servo_out A 1107 ; 150 servo_out(9,8,0xFF); A 1108 .line 150 000480 B0EC A 1109 CLR R12 000482 DCFF A 1110 LD R13,#255 000484 B0EA A 1111 CLR R10 000486 BC08 A 1112 LD R11,#8 000488 B0E8 A 1113 CLR R8 00048A 9C09 A 1114 LD R9,#9 00048C D6 0000 A 1115 CALL _servo_out A 1116 ; 151 A 1117 ; 152 move(LEG1a,45,2); A 1118 .line 152 00048F B0EC A 1119 CLR R12 000491 DC02 A 1120 LD R13,#2 000493 B0EA A 1121 CLR R10 000495 BC2D A 1122 LD R11,#45 000497 B0E8 A 1123 CLR R8 000499 9C01 A 1124 LD R9,#1 00049B D6 0000 A 1125 CALL _move A 1126 ; 153 move(LEG5a,-45,2); A 1127 .line 153 00049E B0EC A 1128 CLR R12 0004A0 DC02 A 1129 LD R13,#2 0004A2 ACFF A 1130 LD R10,#255 0004A4 BCD3 A 1131 LD R11,#211 0004A6 B0E8 A 1132 CLR R8 0004A8 9C05 A 1133 LD R9,#5 0004AA D6 0000 A 1134 CALL _move A 1135 ; 154 move(LEG3a,45,2); A 1136 .line 154 0004AD B0EC A 1137 CLR R12 0004AF DC02 A 1138 LD R13,#2 0004B1 B0EA A 1139 CLR R10 0004B3 BC2D A 1140 LD R11,#45 0004B5 B0E8 A 1141 CLR R8 0004B7 9C0B A 1142 LD R9,#11 0004B9 D6 0000 A 1143 CALL _move A 1144 ; 155 if(wait(5)!=0) return; Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 23 PC Object I Line Source main.src A 1145 .line 155 0004BC B0E8 A 1146 CLR R8 0004BE 9C05 A 1147 LD R9,#5 0004C0 D6 0000 A 1148 CALL _wait 0004C3 4200 A 1149 OR R0,R0 0004C5 ED 06 51 A 1150 JR NE,_5_L_44 A 1151 ; 156 move(LEG1b,angle,2); A 1152 .line 156 0004C8 B0EC A 1153 CLR R12 0004CA DC02 A 1154 LD R13,#2 0004CC 88AEFE A 1155 LDX R10,-2(RR14) 0004CF 88BEFF A 1156 LDX R11,-1(RR14) 0004D2 B0E8 A 1157 CLR R8 0004D4 9C02 A 1158 LD R9,#2 0004D6 D6 0000 A 1159 CALL _move A 1160 ; 157 move(LEG5b,angle,2); A 1161 .line 157 0004D9 B0EC A 1162 CLR R12 0004DB DC02 A 1163 LD R13,#2 0004DD 88AEFE A 1164 LDX R10,-2(RR14) 0004E0 88BEFF A 1165 LDX R11,-1(RR14) 0004E3 B0E8 A 1166 CLR R8 0004E5 9C06 A 1167 LD R9,#6 0004E7 D6 0000 A 1168 CALL _move A 1169 ; 158 move(LEG3b,angle,2); A 1170 .line 158 0004EA B0EC A 1171 CLR R12 0004EC DC02 A 1172 LD R13,#2 0004EE 88AEFE A 1173 LDX R10,-2(RR14) 0004F1 88BEFF A 1174 LDX R11,-1(RR14) 0004F4 B0E8 A 1175 CLR R8 0004F6 9C0C A 1176 LD R9,#12 0004F8 D6 0000 A 1177 CALL _move A 1178 ; 159 if(wait(8)!=0) return; A 1179 .line 159 0004FB B0E8 A 1180 CLR R8 0004FD 9C08 A 1181 LD R9,#8 0004FF D6 0000 A 1182 CALL _wait 000502 4200 A 1183 OR R0,R0 000504 ED 06 51 A 1184 JR NE,_5_L_44 A 1185 ; 160 move(LEG1a,0,2); A 1186 .line 160 000507 B0EC A 1187 CLR R12 000509 DC02 A 1188 LD R13,#2 00050B B0EA A 1189 CLR R10 00050D B0EB A 1190 CLR R11 00050F B0E8 A 1191 CLR R8 000511 9C01 A 1192 LD R9,#1 000513 D6 0000 A 1193 CALL _move A 1194 ; 161 move(LEG5a,0,2); A 1195 .line 161 000516 B0EC A 1196 CLR R12 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 24 PC Object I Line Source main.src 000518 DC02 A 1197 LD R13,#2 00051A B0EA A 1198 CLR R10 00051C B0EB A 1199 CLR R11 00051E B0E8 A 1200 CLR R8 000520 9C05 A 1201 LD R9,#5 000522 D6 0000 A 1202 CALL _move A 1203 ; 162 move(LEG3a,0,2); A 1204 .line 162 000525 B0EC A 1205 CLR R12 000527 DC02 A 1206 LD R13,#2 000529 B0EA A 1207 CLR R10 00052B B0EB A 1208 CLR R11 00052D B0E8 A 1209 CLR R8 00052F 9C0B A 1210 LD R9,#11 000531 D6 0000 A 1211 CALL _move A 1212 ; 163 if(wait(5)!=0) return; A 1213 .line 163 000534 B0E8 A 1214 CLR R8 000536 9C05 A 1215 LD R9,#5 000538 D6 0000 A 1216 CALL _wait 00053B 4200 A 1217 OR R0,R0 00053D ED 06 51 A 1218 JR NE,_5_L_44 A 1219 ; 164 A 1220 ; 165 move(LEG2a,45,2); A 1221 .line 165 000540 B0EC A 1222 CLR R12 000542 DC02 A 1223 LD R13,#2 000544 B0EA A 1224 CLR R10 000546 BC2D A 1225 LD R11,#45 000548 B0E8 A 1226 CLR R8 00054A 9C03 A 1227 LD R9,#3 00054C D6 0000 A 1228 CALL _move A 1229 ; 166 move(LEG4a,-45,2); A 1230 .line 166 00054F B0EC A 1231 CLR R12 000551 DC02 A 1232 LD R13,#2 000553 ACFF A 1233 LD R10,#255 000555 BCD3 A 1234 LD R11,#211 000557 B0E8 A 1235 CLR R8 000559 9C07 A 1236 LD R9,#7 00055B D6 0000 A 1237 CALL _move A 1238 ; 167 move(LEG6a,-45,2); A 1239 .line 167 00055E B0EC A 1240 CLR R12 000560 DC02 A 1241 LD R13,#2 000562 ACFF A 1242 LD R10,#255 000564 BCD3 A 1243 LD R11,#211 000566 B0E8 A 1244 CLR R8 000568 9C0D A 1245 LD R9,#13 00056A D6 0000 A 1246 CALL _move A 1247 ; 168 if(wait(5)!=0) return; A 1248 .line 168 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 25 PC Object I Line Source main.src 00056D B0E8 A 1249 CLR R8 00056F 9C05 A 1250 LD R9,#5 000571 D6 0000 A 1251 CALL _wait 000574 4200 A 1252 OR R0,R0 000576 ED 06 51 A 1253 JR NE,_5_L_44 A 1254 ; 169 move(LEG2b,angle,2); A 1255 .line 169 000579 B0EC A 1256 CLR R12 00057B DC02 A 1257 LD R13,#2 00057D 88AEFE A 1258 LDX R10,-2(RR14) 000580 88BEFF A 1259 LDX R11,-1(RR14) 000583 B0E8 A 1260 CLR R8 000585 9C04 A 1261 LD R9,#4 000587 D6 0000 A 1262 CALL _move A 1263 ; 170 move(LEG4b,angle,2); A 1264 .line 170 00058A B0EC A 1265 CLR R12 00058C DC02 A 1266 LD R13,#2 00058E 88AEFE A 1267 LDX R10,-2(RR14) 000591 88BEFF A 1268 LDX R11,-1(RR14) 000594 B0E8 A 1269 CLR R8 000596 9C08 A 1270 LD R9,#8 000598 D6 0000 A 1271 CALL _move A 1272 ; 171 move(LEG6b,angle,2); A 1273 .line 171 00059B B0EC A 1274 CLR R12 00059D DC02 A 1275 LD R13,#2 00059F 88AEFE A 1276 LDX R10,-2(RR14) 0005A2 88BEFF A 1277 LDX R11,-1(RR14) 0005A5 B0E8 A 1278 CLR R8 0005A7 9C0E A 1279 LD R9,#14 0005A9 D6 0000 A 1280 CALL _move A 1281 ; 172 if(wait(8)!=0) return; A 1282 .line 172 0005AC B0E8 A 1283 CLR R8 0005AE 9C08 A 1284 LD R9,#8 0005B0 D6 0000 A 1285 CALL _wait 0005B3 4200 A 1286 OR R0,R0 0005B5 ED 06 51 A 1287 JR NE,_5_L_44 A 1288 ; 173 move(LEG2a,0,2); A 1289 .line 173 0005B8 B0EC A 1290 CLR R12 0005BA DC02 A 1291 LD R13,#2 0005BC B0EA A 1292 CLR R10 0005BE B0EB A 1293 CLR R11 0005C0 B0E8 A 1294 CLR R8 0005C2 9C03 A 1295 LD R9,#3 0005C4 D6 0000 A 1296 CALL _move A 1297 ; 174 move(LEG4a,0,2); A 1298 .line 174 0005C7 B0EC A 1299 CLR R12 0005C9 DC02 A 1300 LD R13,#2 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 26 PC Object I Line Source main.src 0005CB B0EA A 1301 CLR R10 0005CD B0EB A 1302 CLR R11 0005CF B0E8 A 1303 CLR R8 0005D1 9C07 A 1304 LD R9,#7 0005D3 D6 0000 A 1305 CALL _move A 1306 ; 175 move(LEG6a,0,2); A 1307 .line 175 0005D6 B0EC A 1308 CLR R12 0005D8 DC02 A 1309 LD R13,#2 0005DA B0EA A 1310 CLR R10 0005DC B0EB A 1311 CLR R11 0005DE B0E8 A 1312 CLR R8 0005E0 9C0D A 1313 LD R9,#13 0005E2 D6 0000 A 1314 CALL _move A 1315 ; 176 if(wait(5)!=0) return; A 1316 .line 176 0005E5 B0E8 A 1317 CLR R8 0005E7 9C05 A 1318 LD R9,#5 0005E9 D6 0000 A 1319 CALL _wait 0005EC 4200 A 1320 OR R0,R0 0005EE EB 61 A 1321 JR NE,_5_L_44 A 1322 ; 177 A 1323 ; 178 A 1324 ; 179 A 1325 ; 180 move(LEG1b,0,3); A 1326 .line 180 0005F0 B0EC A 1327 CLR R12 0005F2 DC03 A 1328 LD R13,#3 0005F4 B0EA A 1329 CLR R10 0005F6 B0EB A 1330 CLR R11 0005F8 B0E8 A 1331 CLR R8 0005FA 9C02 A 1332 LD R9,#2 0005FC D6 0000 A 1333 CALL _move A 1334 ; 181 move(LEG2b,0,3); A 1335 .line 181 0005FF B0EC A 1336 CLR R12 000601 DC03 A 1337 LD R13,#3 000603 B0EA A 1338 CLR R10 000605 B0EB A 1339 CLR R11 000607 B0E8 A 1340 CLR R8 000609 9C04 A 1341 LD R9,#4 00060B D6 0000 A 1342 CALL _move A 1343 ; 182 move(LEG3b,0,3); A 1344 .line 182 00060E B0EC A 1345 CLR R12 000610 DC03 A 1346 LD R13,#3 000612 B0EA A 1347 CLR R10 000614 B0EB A 1348 CLR R11 000616 B0E8 A 1349 CLR R8 000618 9C0C A 1350 LD R9,#12 00061A D6 0000 A 1351 CALL _move A 1352 ; 183 move(LEG4b,0,3); Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 27 PC Object I Line Source main.src A 1353 .line 183 00061D B0EC A 1354 CLR R12 00061F DC03 A 1355 LD R13,#3 000621 B0EA A 1356 CLR R10 000623 B0EB A 1357 CLR R11 000625 B0E8 A 1358 CLR R8 000627 9C08 A 1359 LD R9,#8 000629 D6 0000 A 1360 CALL _move A 1361 ; 184 move(LEG5b,0,3); A 1362 .line 184 00062C B0EC A 1363 CLR R12 00062E DC03 A 1364 LD R13,#3 000630 B0EA A 1365 CLR R10 000632 B0EB A 1366 CLR R11 000634 B0E8 A 1367 CLR R8 000636 9C06 A 1368 LD R9,#6 000638 D6 0000 A 1369 CALL _move A 1370 ; 185 move(LEG6b,0,3); A 1371 .line 185 00063B B0EC A 1372 CLR R12 00063D DC03 A 1373 LD R13,#3 00063F B0EA A 1374 CLR R10 000641 B0EB A 1375 CLR R11 000643 B0E8 A 1376 CLR R8 000645 9C0E A 1377 LD R9,#14 000647 D6 0000 A 1378 CALL _move A 1379 ; 186 wait(8); A 1380 .line 186 00064A B0E8 A 1381 CLR R8 00064C 9C08 A 1382 LD R9,#8 00064E D6 0000 A 1383 CALL _wait A 1384 ; 187 } 000651 A 1385 _5_L_44: A 1386 .line 187 000651 D6 0000 A 1387 CALL __b_framereset 000654 AF A 1388 RET A 1389 .endfunc "turn",187,"_turn" A 1390 SEGMENT ROM_DATA A 1391 A 1392 A 1393 ;**************************** _left *************************** A 1394 ;Name Addr/Register Size Type A 1395 A 1396 A 1397 ; Aggregate Stack Size: 0 (words) A 1398 A 1399 A 1400 .FRAME _n_left,?_n_left,RDATA A 1401 .FCALL _n_turn A 1402 .FRAME _f_left,?_f_left,EDATA A 1403 .FCALL _f_turn A 1404 SEGMENT main_TEXT Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 28 PC Object I Line Source main.src 000655 A 1405 _left: A 1406 .define "_left" A 1407 .value _left A 1408 .class 2 A 1409 .type 65 A 1410 .type 0 A 1411 .endef A 1412 .begfunc "left",190,"_left" 000655 D6 0000 A 1413 CALL __b_frameset00 A 1414 ; 188 A 1415 ; 189 void left(void) A 1416 ; 190 { A 1417 ; 191 turn(-70); A 1418 .line 191 000658 8CFF A 1419 LD R8,#255 00065A 9CBA A 1420 LD R9,#186 00065C D6 0466 A 1421 CALL _turn A 1422 ; 192 } A 1423 .line 192 00065F D6 0000 A 1424 CALL __b_framereset 000662 AF A 1425 RET A 1426 .endfunc "left",192,"_left" A 1427 SEGMENT ROM_DATA A 1428 A 1429 A 1430 ;**************************** _right *************************** A 1431 ;Name Addr/Register Size Type A 1432 A 1433 A 1434 ; Aggregate Stack Size: 0 (words) A 1435 A 1436 A 1437 .FRAME _n_right,?_n_right,RDATA A 1438 .FCALL _n_turn A 1439 .FRAME _f_right,?_f_right,EDATA A 1440 .FCALL _f_turn A 1441 SEGMENT main_TEXT 000663 A 1442 _right: A 1443 .define "_right" A 1444 .value _right A 1445 .class 2 A 1446 .type 65 A 1447 .type 0 A 1448 .endef A 1449 .begfunc "right",195,"_right" 000663 D6 0000 A 1450 CALL __b_frameset00 A 1451 ; 193 A 1452 ; 194 void right(void) A 1453 ; 195 { A 1454 ; 196 turn(70); A 1455 .line 196 000666 B0E8 A 1456 CLR R8 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 29 PC Object I Line Source main.src 000668 9C46 A 1457 LD R9,#70 00066A D6 0466 A 1458 CALL _turn A 1459 ; 197 } A 1460 .line 197 00066D D6 0000 A 1461 CALL __b_framereset 000670 AF A 1462 RET A 1463 .endfunc "right",197,"_right" A 1464 SEGMENT ROM_DATA A 1465 A 1466 A 1467 ;**************************** _sit *************************** A 1468 ;Name Addr/Register Size Type A 1469 ;_wait IMPORT ----- function A 1470 ;_move IMPORT ----- function A 1471 ;_servo_out IMPORT ----- function A 1472 A 1473 A 1474 ; Aggregate Stack Size: 0 (words) A 1475 A 1476 A 1477 .FRAME _n_sit,?_n_sit,RDATA A 1478 .FCALL _n_servo_out A 1479 .FCALL _n_move A 1480 .FCALL _n_wait A 1481 .FRAME _f_sit,?_f_sit,EDATA A 1482 .FCALL _f_servo_out A 1483 .FCALL _f_move A 1484 .FCALL _f_wait A 1485 SEGMENT main_TEXT 000671 A 1486 _sit: A 1487 .define "_sit" A 1488 .value _sit A 1489 .class 2 A 1490 .type 65 A 1491 .type 0 A 1492 .endef A 1493 .begfunc "sit",200,"_sit" 000671 D6 0000 A 1494 CALL __b_frameset00 A 1495 ; 198 A 1496 ; 199 void sit(void) A 1497 ; 200 { A 1498 ; 201 servo_out(0,8,0xFF); // turn on servos A 1499 .line 201 000674 B0EC A 1500 CLR R12 000676 DCFF A 1501 LD R13,#255 000678 B0EA A 1502 CLR R10 00067A BC08 A 1503 LD R11,#8 00067C B0E8 A 1504 CLR R8 00067E B0E9 A 1505 CLR R9 000680 D6 0000 A 1506 CALL _servo_out A 1507 ; 202 servo_out(9,8,0xFF); A 1508 .line 202 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 30 PC Object I Line Source main.src 000683 B0EC A 1509 CLR R12 000685 DCFF A 1510 LD R13,#255 000687 B0EA A 1511 CLR R10 000689 BC08 A 1512 LD R11,#8 00068B B0E8 A 1513 CLR R8 00068D 9C09 A 1514 LD R9,#9 00068F D6 0000 A 1515 CALL _servo_out A 1516 ; 203 A 1517 ; 204 move(LEG3a,45,2); A 1518 .line 204 000692 B0EC A 1519 CLR R12 000694 DC02 A 1520 LD R13,#2 000696 B0EA A 1521 CLR R10 000698 BC2D A 1522 LD R11,#45 00069A B0E8 A 1523 CLR R8 00069C 9C0B A 1524 LD R9,#11 00069E D6 0000 A 1525 CALL _move A 1526 ; 205 move(LEG3b,80,2); A 1527 .line 205 0006A1 B0EC A 1528 CLR R12 0006A3 DC02 A 1529 LD R13,#2 0006A5 B0EA A 1530 CLR R10 0006A7 BC50 A 1531 LD R11,#80 0006A9 B0E8 A 1532 CLR R8 0006AB 9C0C A 1533 LD R9,#12 0006AD D6 0000 A 1534 CALL _move A 1535 ; 206 if(wait(5)!=0) return; A 1536 .line 206 0006B0 B0E8 A 1537 CLR R8 0006B2 9C05 A 1538 LD R9,#5 0006B4 D6 0000 A 1539 CALL _wait 0006B7 4200 A 1540 OR R0,R0 0006B9 ED 09 6C A 1541 JR NE,_8_L_84 A 1542 ; 207 move(LEG3a,0,1); A 1543 .line 207 0006BC B0EC A 1544 CLR R12 0006BE DC01 A 1545 LD R13,#1 0006C0 B0EA A 1546 CLR R10 0006C2 B0EB A 1547 CLR R11 0006C4 B0E8 A 1548 CLR R8 0006C6 9C0B A 1549 LD R9,#11 0006C8 D6 0000 A 1550 CALL _move A 1551 ; 208 if(wait(5)!=0) return; A 1552 .line 208 0006CB B0E8 A 1553 CLR R8 0006CD 9C05 A 1554 LD R9,#5 0006CF D6 0000 A 1555 CALL _wait 0006D2 4200 A 1556 OR R0,R0 0006D4 ED 09 6C A 1557 JR NE,_8_L_84 A 1558 ; 209 // A 1559 ; 210 move(LEG6a,-45,2); A 1560 .line 210 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 31 PC Object I Line Source main.src 0006D7 B0EC A 1561 CLR R12 0006D9 DC02 A 1562 LD R13,#2 0006DB ACFF A 1563 LD R10,#255 0006DD BCD3 A 1564 LD R11,#211 0006DF B0E8 A 1565 CLR R8 0006E1 9C0D A 1566 LD R9,#13 0006E3 D6 0000 A 1567 CALL _move A 1568 ; 211 move(LEG6b,-80,2); A 1569 .line 211 0006E6 B0EC A 1570 CLR R12 0006E8 DC02 A 1571 LD R13,#2 0006EA ACFF A 1572 LD R10,#255 0006EC BCB0 A 1573 LD R11,#176 0006EE B0E8 A 1574 CLR R8 0006F0 9C0E A 1575 LD R9,#14 0006F2 D6 0000 A 1576 CALL _move A 1577 ; 212 if(wait(5)!=0) return; A 1578 .line 212 0006F5 B0E8 A 1579 CLR R8 0006F7 9C05 A 1580 LD R9,#5 0006F9 D6 0000 A 1581 CALL _wait 0006FC 4200 A 1582 OR R0,R0 0006FE ED 09 6C A 1583 JR NE,_8_L_84 A 1584 ; 213 move(LEG6a,0,1); A 1585 .line 213 000701 B0EC A 1586 CLR R12 000703 DC01 A 1587 LD R13,#1 000705 B0EA A 1588 CLR R10 000707 B0EB A 1589 CLR R11 000709 B0E8 A 1590 CLR R8 00070B 9C0D A 1591 LD R9,#13 00070D D6 0000 A 1592 CALL _move A 1593 ; 214 if(wait(5)!=0) return; A 1594 .line 214 000710 B0E8 A 1595 CLR R8 000712 9C05 A 1596 LD R9,#5 000714 D6 0000 A 1597 CALL _wait 000717 4200 A 1598 OR R0,R0 000719 ED 09 6C A 1599 JR NE,_8_L_84 A 1600 ; 215 A 1601 ; 216 move(LEG2a,45,2); A 1602 .line 216 00071C B0EC A 1603 CLR R12 00071E DC02 A 1604 LD R13,#2 000720 B0EA A 1605 CLR R10 000722 BC2D A 1606 LD R11,#45 000724 B0E8 A 1607 CLR R8 000726 9C03 A 1608 LD R9,#3 000728 D6 0000 A 1609 CALL _move A 1610 ; 217 move(LEG2b,80,2); A 1611 .line 217 00072B B0EC A 1612 CLR R12 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 32 PC Object I Line Source main.src 00072D DC02 A 1613 LD R13,#2 00072F B0EA A 1614 CLR R10 000731 BC50 A 1615 LD R11,#80 000733 B0E8 A 1616 CLR R8 000735 9C04 A 1617 LD R9,#4 000737 D6 0000 A 1618 CALL _move A 1619 ; 218 if(wait(5)!=0) return; A 1620 .line 218 00073A B0E8 A 1621 CLR R8 00073C 9C05 A 1622 LD R9,#5 00073E D6 0000 A 1623 CALL _wait 000741 4200 A 1624 OR R0,R0 000743 ED 09 6C A 1625 JR NE,_8_L_84 A 1626 ; 219 move(LEG2a,0,1); A 1627 .line 219 000746 B0EC A 1628 CLR R12 000748 DC01 A 1629 LD R13,#1 00074A B0EA A 1630 CLR R10 00074C B0EB A 1631 CLR R11 00074E B0E8 A 1632 CLR R8 000750 9C03 A 1633 LD R9,#3 000752 D6 0000 A 1634 CALL _move A 1635 ; 220 if(wait(5)!=0) return; A 1636 .line 220 000755 B0E8 A 1637 CLR R8 000757 9C05 A 1638 LD R9,#5 000759 D6 0000 A 1639 CALL _wait 00075C 4200 A 1640 OR R0,R0 00075E ED 09 6C A 1641 JR NE,_8_L_84 A 1642 ; 221 // A 1643 ; 222 move(LEG5a,-45,2); A 1644 .line 222 000761 B0EC A 1645 CLR R12 000763 DC02 A 1646 LD R13,#2 000765 ACFF A 1647 LD R10,#255 000767 BCD3 A 1648 LD R11,#211 000769 B0E8 A 1649 CLR R8 00076B 9C05 A 1650 LD R9,#5 00076D D6 0000 A 1651 CALL _move A 1652 ; 223 move(LEG5b,-80,2); A 1653 .line 223 000770 B0EC A 1654 CLR R12 000772 DC02 A 1655 LD R13,#2 000774 ACFF A 1656 LD R10,#255 000776 BCB0 A 1657 LD R11,#176 000778 B0E8 A 1658 CLR R8 00077A 9C06 A 1659 LD R9,#6 00077C D6 0000 A 1660 CALL _move A 1661 ; 224 if(wait(5)!=0) return; A 1662 .line 224 00077F B0E8 A 1663 CLR R8 000781 9C05 A 1664 LD R9,#5 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 33 PC Object I Line Source main.src 000783 D6 0000 A 1665 CALL _wait 000786 4200 A 1666 OR R0,R0 000788 ED 09 6C A 1667 JR NE,_8_L_84 A 1668 ; 225 move(LEG5a,0,1); A 1669 .line 225 00078B B0EC A 1670 CLR R12 00078D DC01 A 1671 LD R13,#1 00078F B0EA A 1672 CLR R10 000791 B0EB A 1673 CLR R11 000793 B0E8 A 1674 CLR R8 000795 9C05 A 1675 LD R9,#5 000797 D6 0000 A 1676 CALL _move A 1677 ; 226 if(wait(10)!=0) return; A 1678 .line 226 00079A B0E8 A 1679 CLR R8 00079C 9C0A A 1680 LD R9,#10 00079E D6 0000 A 1681 CALL _wait 0007A1 4200 A 1682 OR R0,R0 0007A3 ED 09 6C A 1683 JR NE,_8_L_84 A 1684 ; 227 // A 1685 ; 228 move(LEG3a,60,5); A 1686 .line 228 0007A6 B0EC A 1687 CLR R12 0007A8 DC05 A 1688 LD R13,#5 0007AA B0EA A 1689 CLR R10 0007AC BC3C A 1690 LD R11,#60 0007AE B0E8 A 1691 CLR R8 0007B0 9C0B A 1692 LD R9,#11 0007B2 D6 0000 A 1693 CALL _move A 1694 ; 229 move(LEG6a,-60,5); A 1695 .line 229 0007B5 B0EC A 1696 CLR R12 0007B7 DC05 A 1697 LD R13,#5 0007B9 ACFF A 1698 LD R10,#255 0007BB BCC4 A 1699 LD R11,#196 0007BD B0E8 A 1700 CLR R8 0007BF 9C0D A 1701 LD R9,#13 0007C1 D6 0000 A 1702 CALL _move A 1703 ; 230 wait(10); A 1704 .line 230 0007C4 B0E8 A 1705 CLR R8 0007C6 9C0A A 1706 LD R9,#10 0007C8 D6 0000 A 1707 CALL _wait A 1708 ; 231 while(1) 0007CB A 1709 _8_L_82: A 1710 .line 231 A 1711 ; 232 { A 1712 ; 233 A 1713 ; 234 move(LEG1b,80,2); A 1714 .line 234 0007CB B0EC A 1715 CLR R12 0007CD DC02 A 1716 LD R13,#2 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 34 PC Object I Line Source main.src 0007CF B0EA A 1717 CLR R10 0007D1 BC50 A 1718 LD R11,#80 0007D3 B0E8 A 1719 CLR R8 0007D5 9C02 A 1720 LD R9,#2 0007D7 D6 0000 A 1721 CALL _move A 1722 ; 235 move(LEG4b,-80,2); A 1723 .line 235 0007DA B0EC A 1724 CLR R12 0007DC DC02 A 1725 LD R13,#2 0007DE ACFF A 1726 LD R10,#255 0007E0 BCB0 A 1727 LD R11,#176 0007E2 B0E8 A 1728 CLR R8 0007E4 9C08 A 1729 LD R9,#8 0007E6 D6 0000 A 1730 CALL _move A 1731 ; 236 if(wait(5)!=0) return; A 1732 .line 236 0007E9 B0E8 A 1733 CLR R8 0007EB 9C05 A 1734 LD R9,#5 0007ED D6 0000 A 1735 CALL _wait 0007F0 4200 A 1736 OR R0,R0 0007F2 ED 09 6C A 1737 JR NE,_8_L_84 A 1738 ; 237 move(LEG1a,45,2); A 1739 .line 237 0007F5 B0EC A 1740 CLR R12 0007F7 DC02 A 1741 LD R13,#2 0007F9 B0EA A 1742 CLR R10 0007FB BC2D A 1743 LD R11,#45 0007FD B0E8 A 1744 CLR R8 0007FF 9C01 A 1745 LD R9,#1 000801 D6 0000 A 1746 CALL _move A 1747 ; 238 move(LEG4a,-45,2); A 1748 .line 238 000804 B0EC A 1749 CLR R12 000806 DC02 A 1750 LD R13,#2 000808 ACFF A 1751 LD R10,#255 00080A BCD3 A 1752 LD R11,#211 00080C B0E8 A 1753 CLR R8 00080E 9C07 A 1754 LD R9,#7 000810 D6 0000 A 1755 CALL _move A 1756 ; 239 if(wait(5)!=0) return; A 1757 .line 239 000813 B0E8 A 1758 CLR R8 000815 9C05 A 1759 LD R9,#5 000817 D6 0000 A 1760 CALL _wait 00081A 4200 A 1761 OR R0,R0 00081C ED 09 6C A 1762 JR NE,_8_L_84 A 1763 ; 240 move(LEG1a,0,2); A 1764 .line 240 00081F B0EC A 1765 CLR R12 000821 DC02 A 1766 LD R13,#2 000823 B0EA A 1767 CLR R10 000825 B0EB A 1768 CLR R11 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 35 PC Object I Line Source main.src 000827 B0E8 A 1769 CLR R8 000829 9C01 A 1770 LD R9,#1 00082B D6 0000 A 1771 CALL _move A 1772 ; 241 move(LEG4a,-0,2); A 1773 .line 241 00082E B0EC A 1774 CLR R12 000830 DC02 A 1775 LD R13,#2 000832 B0EA A 1776 CLR R10 000834 B0EB A 1777 CLR R11 000836 B0E8 A 1778 CLR R8 000838 9C07 A 1779 LD R9,#7 00083A D6 0000 A 1780 CALL _move A 1781 ; 242 if(wait(5)!=0) return; A 1782 .line 242 00083D B0E8 A 1783 CLR R8 00083F 9C05 A 1784 LD R9,#5 000841 D6 0000 A 1785 CALL _wait 000844 4200 A 1786 OR R0,R0 000846 ED 09 6C A 1787 JR NE,_8_L_84 A 1788 ; 243 move(LEG1a,45,2); A 1789 .line 243 000849 B0EC A 1790 CLR R12 00084B DC02 A 1791 LD R13,#2 00084D B0EA A 1792 CLR R10 00084F BC2D A 1793 LD R11,#45 000851 B0E8 A 1794 CLR R8 000853 9C01 A 1795 LD R9,#1 000855 D6 0000 A 1796 CALL _move A 1797 ; 244 move(LEG4a,-45,2); A 1798 .line 244 000858 B0EC A 1799 CLR R12 00085A DC02 A 1800 LD R13,#2 00085C ACFF A 1801 LD R10,#255 00085E BCD3 A 1802 LD R11,#211 000860 B0E8 A 1803 CLR R8 000862 9C07 A 1804 LD R9,#7 000864 D6 0000 A 1805 CALL _move A 1806 ; 245 if(wait(5)!=0) return; A 1807 .line 245 000867 B0E8 A 1808 CLR R8 000869 9C05 A 1809 LD R9,#5 00086B D6 0000 A 1810 CALL _wait 00086E 4200 A 1811 OR R0,R0 000870 ED 09 6C A 1812 JR NE,_8_L_84 A 1813 ; 246 move(LEG1a,0,2); A 1814 .line 246 000873 B0EC A 1815 CLR R12 000875 DC02 A 1816 LD R13,#2 000877 B0EA A 1817 CLR R10 000879 B0EB A 1818 CLR R11 00087B B0E8 A 1819 CLR R8 00087D 9C01 A 1820 LD R9,#1 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 36 PC Object I Line Source main.src 00087F D6 0000 A 1821 CALL _move A 1822 ; 247 move(LEG4a,-0,2); A 1823 .line 247 000882 B0EC A 1824 CLR R12 000884 DC02 A 1825 LD R13,#2 000886 B0EA A 1826 CLR R10 000888 B0EB A 1827 CLR R11 00088A B0E8 A 1828 CLR R8 00088C 9C07 A 1829 LD R9,#7 00088E D6 0000 A 1830 CALL _move A 1831 ; 248 if(wait(5)!=0) return; A 1832 .line 248 000891 B0E8 A 1833 CLR R8 000893 9C05 A 1834 LD R9,#5 000895 D6 0000 A 1835 CALL _wait 000898 4200 A 1836 OR R0,R0 00089A ED 09 6C A 1837 JR NE,_8_L_84 A 1838 ; 249 A 1839 ; 250 move(LEG1b,0,2); A 1840 .line 250 00089D B0EC A 1841 CLR R12 00089F DC02 A 1842 LD R13,#2 0008A1 B0EA A 1843 CLR R10 0008A3 B0EB A 1844 CLR R11 0008A5 B0E8 A 1845 CLR R8 0008A7 9C02 A 1846 LD R9,#2 0008A9 D6 0000 A 1847 CALL _move A 1848 ; 251 move(LEG4b,0,2); A 1849 .line 251 0008AC B0EC A 1850 CLR R12 0008AE DC02 A 1851 LD R13,#2 0008B0 B0EA A 1852 CLR R10 0008B2 B0EB A 1853 CLR R11 0008B4 B0E8 A 1854 CLR R8 0008B6 9C08 A 1855 LD R9,#8 0008B8 D6 0000 A 1856 CALL _move A 1857 ; 252 if(wait(5)!=0) return; A 1858 .line 252 0008BB B0E8 A 1859 CLR R8 0008BD 9C05 A 1860 LD R9,#5 0008BF D6 0000 A 1861 CALL _wait 0008C2 4200 A 1862 OR R0,R0 0008C4 ED 09 6C A 1863 JR NE,_8_L_84 A 1864 ; 253 move(LEG1a,45,2); A 1865 .line 253 0008C7 B0EC A 1866 CLR R12 0008C9 DC02 A 1867 LD R13,#2 0008CB B0EA A 1868 CLR R10 0008CD BC2D A 1869 LD R11,#45 0008CF B0E8 A 1870 CLR R8 0008D1 9C01 A 1871 LD R9,#1 0008D3 D6 0000 A 1872 CALL _move Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 37 PC Object I Line Source main.src A 1873 ; 254 move(LEG4a,-45,2); A 1874 .line 254 0008D6 B0EC A 1875 CLR R12 0008D8 DC02 A 1876 LD R13,#2 0008DA ACFF A 1877 LD R10,#255 0008DC BCD3 A 1878 LD R11,#211 0008DE B0E8 A 1879 CLR R8 0008E0 9C07 A 1880 LD R9,#7 0008E2 D6 0000 A 1881 CALL _move A 1882 ; 255 if(wait(5)!=0) return; A 1883 .line 255 0008E5 B0E8 A 1884 CLR R8 0008E7 9C05 A 1885 LD R9,#5 0008E9 D6 0000 A 1886 CALL _wait 0008EC 4200 A 1887 OR R0,R0 0008EE EB 7C A 1888 JR NE,_8_L_84 A 1889 ; 256 move(LEG1a,0,2); A 1890 .line 256 0008F0 B0EC A 1891 CLR R12 0008F2 DC02 A 1892 LD R13,#2 0008F4 B0EA A 1893 CLR R10 0008F6 B0EB A 1894 CLR R11 0008F8 B0E8 A 1895 CLR R8 0008FA 9C01 A 1896 LD R9,#1 0008FC D6 0000 A 1897 CALL _move A 1898 ; 257 move(LEG4a,-0,2); A 1899 .line 257 0008FF B0EC A 1900 CLR R12 000901 DC02 A 1901 LD R13,#2 000903 B0EA A 1902 CLR R10 000905 B0EB A 1903 CLR R11 000907 B0E8 A 1904 CLR R8 000909 9C07 A 1905 LD R9,#7 00090B D6 0000 A 1906 CALL _move A 1907 ; 258 if(wait(5)!=0) return; A 1908 .line 258 00090E B0E8 A 1909 CLR R8 000910 9C05 A 1910 LD R9,#5 000912 D6 0000 A 1911 CALL _wait 000915 4200 A 1912 OR R0,R0 000917 EB 53 A 1913 JR NE,_8_L_84 A 1914 ; 259 move(LEG1a,45,2); A 1915 .line 259 000919 B0EC A 1916 CLR R12 00091B DC02 A 1917 LD R13,#2 00091D B0EA A 1918 CLR R10 00091F BC2D A 1919 LD R11,#45 000921 B0E8 A 1920 CLR R8 000923 9C01 A 1921 LD R9,#1 000925 D6 0000 A 1922 CALL _move A 1923 ; 260 move(LEG4a,-45,2); A 1924 .line 260 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 38 PC Object I Line Source main.src 000928 B0EC A 1925 CLR R12 00092A DC02 A 1926 LD R13,#2 00092C ACFF A 1927 LD R10,#255 00092E BCD3 A 1928 LD R11,#211 000930 B0E8 A 1929 CLR R8 000932 9C07 A 1930 LD R9,#7 000934 D6 0000 A 1931 CALL _move A 1932 ; 261 if(wait(5)!=0) return; A 1933 .line 261 000937 B0E8 A 1934 CLR R8 000939 9C05 A 1935 LD R9,#5 00093B D6 0000 A 1936 CALL _wait 00093E 4200 A 1937 OR R0,R0 000940 EB 2A A 1938 JR NE,_8_L_84 A 1939 ; 262 move(LEG1a,0,2); A 1940 .line 262 000942 B0EC A 1941 CLR R12 000944 DC02 A 1942 LD R13,#2 000946 B0EA A 1943 CLR R10 000948 B0EB A 1944 CLR R11 00094A B0E8 A 1945 CLR R8 00094C 9C01 A 1946 LD R9,#1 00094E D6 0000 A 1947 CALL _move A 1948 ; 263 move(LEG4a,-0,2); A 1949 .line 263 000951 B0EC A 1950 CLR R12 000953 DC02 A 1951 LD R13,#2 000955 B0EA A 1952 CLR R10 000957 B0EB A 1953 CLR R11 000959 B0E8 A 1954 CLR R8 00095B 9C07 A 1955 LD R9,#7 00095D D6 0000 A 1956 CALL _move A 1957 ; 264 if(wait(5)!=0) return; A 1958 .line 264 000960 B0E8 A 1959 CLR R8 000962 9C05 A 1960 LD R9,#5 000964 D6 0000 A 1961 CALL _wait 000967 4200 A 1962 OR R0,R0 000969 6D 07 CB A 1963 JR Z,_8_L_82 A 1964 ; 265 } A 1965 ; 266 A 1966 ; 267 A 1967 ; 268 } 00096C A 1968 _8_L_84: A 1969 .line 268 00096C D6 0000 A 1970 CALL __b_framereset 00096F AF A 1971 RET A 1972 .endfunc "sit",268,"_sit" A 1973 SEGMENT ROM_DATA A 1974 A 1975 A 1976 ;**************************** _stand *************************** Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 39 PC Object I Line Source main.src A 1977 ;Name Addr/Register Size Type A 1978 ;_oldir STATIC 0 variable A 1979 ;_wait IMPORT ----- function A 1980 ;_move IMPORT ----- function A 1981 ;_servo_out IMPORT ----- function A 1982 A 1983 A 1984 ; Aggregate Stack Size: 0 (words) A 1985 A 1986 A 1987 .FRAME _n_stand,?_n_stand,RDATA A 1988 .FCALL _n_servo_out A 1989 .FCALL _n_move A 1990 .FCALL _n_wait A 1991 .FRAME _f_stand,?_f_stand,EDATA A 1992 .FCALL _f_servo_out A 1993 .FCALL _f_move A 1994 .FCALL _f_wait A 1995 SEGMENT main_TEXT 000970 A 1996 _stand: A 1997 .define "_stand" A 1998 .value _stand A 1999 .class 2 A 2000 .type 65 A 2001 .type 0 A 2002 .endef A 2003 .begfunc "stand",271,"_stand" 000970 D6 0000 A 2004 CALL __b_frameset00 A 2005 ; 269 A 2006 ; 270 void stand(void) A 2007 ; 271 { A 2008 ; 272 A 2009 ; 273 servo_out(0,8,0xFF); // turn on servos A 2010 .line 273 000973 B0EC A 2011 CLR R12 000975 DCFF A 2012 LD R13,#255 000977 B0EA A 2013 CLR R10 000979 BC08 A 2014 LD R11,#8 00097B B0E8 A 2015 CLR R8 00097D B0E9 A 2016 CLR R9 00097F D6 0000 A 2017 CALL _servo_out A 2018 ; 274 servo_out(9,8,0xFF); A 2019 .line 274 000982 B0EC A 2020 CLR R12 000984 DCFF A 2021 LD R13,#255 000986 B0EA A 2022 CLR R10 000988 BC08 A 2023 LD R11,#8 00098A B0E8 A 2024 CLR R8 00098C 9C09 A 2025 LD R9,#9 00098E D6 0000 A 2026 CALL _servo_out A 2027 ; 275 A 2028 ; 276 move(LEG1a,45,2); Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 40 PC Object I Line Source main.src A 2029 .line 276 000991 B0EC A 2030 CLR R12 000993 DC02 A 2031 LD R13,#2 000995 B0EA A 2032 CLR R10 000997 BC2D A 2033 LD R11,#45 000999 B0E8 A 2034 CLR R8 00099B 9C01 A 2035 LD R9,#1 00099D D6 0000 A 2036 CALL _move A 2037 ; 277 move(LEG1b,80,2); A 2038 .line 277 0009A0 B0EC A 2039 CLR R12 0009A2 DC02 A 2040 LD R13,#2 0009A4 B0EA A 2041 CLR R10 0009A6 BC50 A 2042 LD R11,#80 0009A8 B0E8 A 2043 CLR R8 0009AA 9C02 A 2044 LD R9,#2 0009AC D6 0000 A 2045 CALL _move A 2046 ; 278 if(wait(5)!=0) return; A 2047 .line 278 0009AF B0E8 A 2048 CLR R8 0009B1 9C05 A 2049 LD R9,#5 0009B3 D6 0000 A 2050 CALL _wait 0009B6 4200 A 2051 OR R0,R0 0009B8 ED 0A 41 A 2052 JR NE,_9_L_93 A 2053 ; 279 move(LEG1a,0,1); A 2054 .line 279 0009BB B0EC A 2055 CLR R12 0009BD DC01 A 2056 LD R13,#1 0009BF B0EA A 2057 CLR R10 0009C1 B0EB A 2058 CLR R11 0009C3 B0E8 A 2059 CLR R8 0009C5 9C01 A 2060 LD R9,#1 0009C7 D6 0000 A 2061 CALL _move A 2062 ; 280 if(wait(5)!=0) return; A 2063 .line 280 0009CA B0E8 A 2064 CLR R8 0009CC 9C05 A 2065 LD R9,#5 0009CE D6 0000 A 2066 CALL _wait 0009D1 4200 A 2067 OR R0,R0 0009D3 EB 6C A 2068 JR NE,_9_L_93 A 2069 ; 281 // A 2070 ; 282 move(LEG4a,-45,2); A 2071 .line 282 0009D5 B0EC A 2072 CLR R12 0009D7 DC02 A 2073 LD R13,#2 0009D9 ACFF A 2074 LD R10,#255 0009DB BCD3 A 2075 LD R11,#211 0009DD B0E8 A 2076 CLR R8 0009DF 9C07 A 2077 LD R9,#7 0009E1 D6 0000 A 2078 CALL _move A 2079 ; 283 move(LEG4b,-80,2); A 2080 .line 283 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 41 PC Object I Line Source main.src 0009E4 B0EC A 2081 CLR R12 0009E6 DC02 A 2082 LD R13,#2 0009E8 ACFF A 2083 LD R10,#255 0009EA BCB0 A 2084 LD R11,#176 0009EC B0E8 A 2085 CLR R8 0009EE 9C08 A 2086 LD R9,#8 0009F0 D6 0000 A 2087 CALL _move A 2088 ; 284 if(wait(5)!=0) return; A 2089 .line 284 0009F3 B0E8 A 2090 CLR R8 0009F5 9C05 A 2091 LD R9,#5 0009F7 D6 0000 A 2092 CALL _wait 0009FA 4200 A 2093 OR R0,R0 0009FC EB 43 A 2094 JR NE,_9_L_93 A 2095 ; 285 move(LEG4a,0,1); A 2096 .line 285 0009FE B0EC A 2097 CLR R12 000A00 DC01 A 2098 LD R13,#1 000A02 B0EA A 2099 CLR R10 000A04 B0EB A 2100 CLR R11 000A06 B0E8 A 2101 CLR R8 000A08 9C07 A 2102 LD R9,#7 000A0A D6 0000 A 2103 CALL _move A 2104 ; 286 if(wait(5)!=0) return; A 2105 .line 286 000A0D B0E8 A 2106 CLR R8 000A0F 9C05 A 2107 LD R9,#5 000A11 D6 0000 A 2108 CALL _wait 000A14 4200 A 2109 OR R0,R0 000A16 EB 29 A 2110 JR NE,_9_L_93 A 2111 ; 287 A 2112 ; 288 move(LEG3a,0,5); A 2113 .line 288 000A18 B0EC A 2114 CLR R12 000A1A DC05 A 2115 LD R13,#5 000A1C B0EA A 2116 CLR R10 000A1E B0EB A 2117 CLR R11 000A20 B0E8 A 2118 CLR R8 000A22 9C0B A 2119 LD R9,#11 000A24 D6 0000 A 2120 CALL _move A 2121 ; 289 move(LEG6a,0,5); A 2122 .line 289 000A27 B0EC A 2123 CLR R12 000A29 DC05 A 2124 LD R13,#5 000A2B B0EA A 2125 CLR R10 000A2D B0EB A 2126 CLR R11 000A2F B0E8 A 2127 CLR R8 000A31 9C0D A 2128 LD R9,#13 000A33 D6 0000 A 2129 CALL _move A 2130 ; 290 wait(20); A 2131 .line 290 000A36 B0E8 A 2132 CLR R8 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 42 PC Object I Line Source main.src 000A38 9C14 A 2133 LD R9,#20 000A3A D6 0000 A 2134 CALL _wait A 2135 ; 291 oldir=0; A 2136 .line 291 000A3D E9000007 A 2137 LDX _oldir,#-0 A 2138 ; 292 } 000A41 A 2139 _9_L_93: A 2140 .line 292 000A41 D6 0000 A 2141 CALL __b_framereset 000A44 AF A 2142 RET A 2143 .endfunc "stand",292,"_stand" A 2144 SEGMENT ROM_DATA A 2145 A 2146 A 2147 ;**************************** _main *************************** A 2148 ;Name Addr/Register Size Type A 2149 ;_oldir STATIC 0 variable A 2150 ;_t1 STATIC 0 variable A 2151 ;_wait IMPORT ----- function A 2152 ;_EI IMPORT ----- function A 2153 ;_init_timer0 IMPORT ----- function A 2154 ;_DI IMPORT ----- function A 2155 ;_init_led_gpio IMPORT ----- function A 2156 A 2157 A 2158 ; Aggregate Stack Size: 0 (words) A 2159 A 2160 A 2161 .FRAME _n_main,?_n_main,RDATA A 2162 .FCALL _n_init_led_gpio A 2163 .FCALL _n_init_timer0 A 2164 .FCALL _n_wait A 2165 .FCALL _n_tenhut A 2166 .FCALL _n_stand A 2167 .FCALL _n_sit A 2168 .FCALL _n_forward A 2169 .FCALL _n_reverse A 2170 .FCALL _n_right A 2171 .FCALL _n_left A 2172 .FRAME _f_main,?_f_main,EDATA A 2173 .FCALL _f_init_led_gpio A 2174 .FCALL _f_init_timer0 A 2175 .FCALL _f_wait A 2176 .FCALL _f_tenhut A 2177 .FCALL _f_stand A 2178 .FCALL _f_sit A 2179 .FCALL _f_forward A 2180 .FCALL _f_reverse A 2181 .FCALL _f_right A 2182 .FCALL _f_left A 2183 SEGMENT main_TEXT 000A45 A 2184 _main: Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 43 PC Object I Line Source main.src A 2185 .define "_main" A 2186 .value _main A 2187 .class 2 A 2188 .type 65 A 2189 .type 0 A 2190 .endef A 2191 .begfunc "main",299,"_main" 000A45 D6 0000 A 2192 CALL __b_frameset00 A 2193 ; 293 A 2194 ; 294 //////////////////////////////////////////////////////// A 2195 ; 295 // Main program beings here A 2196 ; 296 // This program blinks LED-3 on the evaluation board A 2197 ; 297 A 2198 ; 298 void main () A 2199 ; 299 { A 2200 ; 300 init_led_gpio(); // Initializes LED ports (Port A and C) A 2201 .line 300 000A48 D6 0000 A 2202 CALL _init_led_gpio A 2203 ; 301 DI(); // Disable Interrupts A 2204 .line 301 000A4B 8F A 2205 DI A 2206 ; 302 init_timer0(); // Intialize Timer-0 A 2207 .line 302 000A4C D6 0000 A 2208 CALL _init_timer0 A 2209 ; 303 EI(); // Enable Interrupts A 2210 .line 303 000A4F 9F A 2211 EI A 2212 ; 304 A 2213 ; 305 // allow the servo driver to wake up A 2214 ; 306 wait(10); A 2215 .line 306 000A50 B0E8 A 2216 CLR R8 000A52 9C0A A 2217 LD R9,#10 000A54 D6 0000 A 2218 CALL _wait A 2219 ; 307 A 2220 ; 308 tenhut(); A 2221 .line 308 000A57 D6 0269 A 2222 CALL _tenhut A 2223 ; 309 A 2224 ; 310 // switch on servos A 2225 ; 311 A 2226 ; 312 A 2227 ; 313 A 2228 ; 314 A 2229 ; 315 while(1) // Infinite while loop 000A5A A 2230 _10_L_114: A 2231 .line 315 A 2232 ; 316 { A 2233 ; 317 if(t1==0) A 2234 .line 317 000A5A A9000001 A 2235 CPX _t1,#-0 000A5E EB 2C A 2236 JR NE,_10_L_100 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 44 PC Object I Line Source main.src A 2237 ; 318 { A 2238 ; 319 PAOUT >>=1; A 2239 .line 319 000A60 840FD3 A 2240 LDX R0,4051 000A63 1FC0E0 A 2241 SRL R0 000A66 E4E0E1 A 2242 LD R1,R0 000A69 940FD3 A 2243 LDX 4051,R0 A 2244 ; 320 if(PAOUT==0) A 2245 .line 320 000A6C A9000FD3 A 2246 CPX 4051,#-0 000A70 EB 04 A 2247 JR NE,_10_L_95 A 2248 ; 321 PAOUT=0x80; A 2249 .line 321 000A72 E9800FD3 A 2250 LDX 4051,#128 000A76 A 2251 _10_L_95: A 2252 ; 322 PCOUT <<= 1; A 2253 .line 322 000A76 840FDB A 2254 LDX R0,4059 000A79 0200 A 2255 ADD R0,R0 000A7B 940FDB A 2256 LDX 4059,R0 A 2257 ; 323 if(PCOUT==0) A 2258 .line 323 000A7E A9000FDB A 2259 CPX 4059,#-0 000A82 EB 04 A 2260 JR NE,_10_L_97 A 2261 ; 324 PCOUT= 0x01; A 2262 .line 324 000A84 E9010FDB A 2263 LDX 4059,#1 000A88 A 2264 _10_L_97: A 2265 ; 325 t1=4; A 2266 .line 325 000A88 E9040001 A 2267 LDX _t1,#4 A 2268 ; 326 } 000A8C A 2269 _10_L_100: A 2270 .line 326 A 2271 ; 327 A 2272 ; 328 // This is the main sequence program A 2273 ; 329 A 2274 ; 330 if(oldir==STAND) stand(); A 2275 .line 330 000A8C A9200007 A 2276 CPX _oldir,#32 000A90 EB 03 A 2277 JR NE,_10_L_102 000A92 D6 0970 A 2278 CALL _stand 000A95 A 2279 _10_L_102: A 2280 ; 331 if(oldir==SIT) sit(); A 2281 .line 331 000A95 A9C00007 A 2282 CPX _oldir,#192 000A99 EB 03 A 2283 JR NE,_10_L_104 000A9B D6 0671 A 2284 CALL _sit 000A9E A 2285 _10_L_104: A 2286 ; 332 if(oldir==FWD) forward(); A 2287 .line 332 000A9E A9800007 A 2288 CPX _oldir,#128 Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 45 PC Object I Line Source main.src 000AA2 EB 03 A 2289 JR NE,_10_L_106 000AA4 D6 024D A 2290 CALL _forward 000AA7 A 2291 _10_L_106: A 2292 ; 333 if(oldir==REV) reverse(); A 2293 .line 333 000AA7 A9400007 A 2294 CPX _oldir,#64 000AAB EB 03 A 2295 JR NE,_10_L_108 000AAD D6 025B A 2296 CALL _reverse 000AB0 A 2297 _10_L_108: A 2298 ; 334 if(oldir==TRIGHT) right(); A 2299 .line 334 000AB0 A9600007 A 2300 CPX _oldir,#96 000AB4 EB 03 A 2301 JR NE,_10_L_110 000AB6 D6 0663 A 2302 CALL _right 000AB9 A 2303 _10_L_110: A 2304 ; 335 if(oldir==TLEFT) left(); A 2305 .line 335 000AB9 A9A00007 A 2306 CPX _oldir,#160 000ABD EB 03 A 2307 JR NE,_10_L_112 000ABF D6 0655 A 2308 CALL _left 000AC2 A 2309 _10_L_112: A 2310 ; 336 if(oldir==STOP) tenhut(); A 2311 .line 336 000AC2 A9900007 A 2312 CPX _oldir,#144 000AC6 EB 03 A 2313 JR NE,_10_L_113 000AC8 D6 0269 A 2314 CALL _tenhut 000ACB A 2315 _10_L_113: A 2316 ; 337 wait(1); A 2317 .line 337 000ACB B0E8 A 2318 CLR R8 000ACD 9C01 A 2319 LD R9,#1 000ACF D6 0000 A 2320 CALL _wait A 2321 ; 338 } A 2322 .line 338 000AD2 8B 86 A 2323 JR _10_L_114 A 2324 ; 339 } // End of main program A 2325 .line 339 000AD4 D6 0000 A 2326 CALL __b_framereset 000AD7 AF A 2327 RET A 2328 .endfunc "main",339,"_main" A 2329 XREF _move:ROM A 2330 XREF _servo_out:ROM A 2331 XREF _wait:ROM A 2332 XREF _init_timer0:ROM A 2333 XREF _init_led_gpio:ROM A 2334 XREF __b_framereset:ROM A 2335 XREF __b_frameset0:ROM A 2336 XREF __b_frameset00:ROM A 2337 XDEF _main A 2338 XDEF _stand A 2339 XDEF _sit A 2340 XDEF _right Zilog Z8 Encore! Macro Assembler Version 2.50 (08031703) 15-Jan-09 11:01:14 page: 46 PC Object I Line Source main.src A 2341 XDEF _left A 2342 XDEF _turn A 2343 XDEF _tenhut A 2344 XDEF _reverse A 2345 XDEF _forward A 2346 XDEF _walk A 2347 XDEF _oldir A 2348 XDEF _ircode A 2349 XDEF _lt1 A 2350 XDEF _t5 A 2351 XDEF _t4 A 2352 XDEF _t3 A 2353 XDEF _t2 A 2354 XDEF _t1 A 2355 XDEF _subtmr A 2356 XDEF _flash_option2 A 2357 XDEF _flash_option1 A 2358 END Errors: 0 Warnings: 0 Lines Assembled: 2359