mirror of
https://github.com/vortexgpgpu/vortex.git
synced 2025-04-24 05:47:35 -04:00
Finished mult, add, and sub
This commit is contained in:
parent
4266c8d86c
commit
ee0d8a0f55
11 changed files with 1802 additions and 1004 deletions
|
@ -634,7 +634,8 @@ void Instruction::executeOn(Warp &c) {
|
|||
{
|
||||
//std::cout << "INTERRUPT ECALL/EBREAK\n";
|
||||
nextActiveThreads = 0;
|
||||
c.interrupt(0);
|
||||
c.spawned = false;
|
||||
// c.interrupt(0);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -672,7 +673,7 @@ void Instruction::executeOn(Warp &c) {
|
|||
// //std::cout << "SIZE: " << c.core->w.size() << "\n";
|
||||
for (unsigned i = 0; i < c.core->w.size(); ++i)
|
||||
{
|
||||
// //std::cout << "WHATTT\n";
|
||||
// std::cout << "SPAWNING WARP\n";
|
||||
Warp &newWarp(c.core->w[i]);
|
||||
// //std::cout << "STARTING\n";
|
||||
if (newWarp.spawned == false) {
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
start
|
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
:0200000480007A
|
||||
:1000000037F1FF7FEF008006EF005018730000000B
|
||||
:1000000037F1FF7FEF008006EF00D06F7300000034
|
||||
:10001000938B0600130D0700130F010093030500D7
|
||||
:1000200013051000635C75001301018013030500C4
|
||||
:100030006B500300130515006FF0DFFE13010F0076
|
||||
|
@ -8,195 +8,303 @@
|
|||
:10006000130343FB6B00030067800000130101FED4
|
||||
:10007000232E1100232C810013040102232604FEE9
|
||||
:100080006F0000030327C4FE9307404C3307F702B9
|
||||
:10009000B70700819387071FB307F7001385070091
|
||||
:1000A000EF00C0338327C4FE938717002326F4FE96
|
||||
:10009000B707008193870721B307F700138507008F
|
||||
:1000A000EF00C0378327C4FE938717002326F4FE92
|
||||
:1000B0000327C4FE93077000E3D6E7FC130000009B
|
||||
:1000C0008320C10103248101130101026780000024
|
||||
:1000D000130101FD23261102232481022322A103FF
|
||||
:1000E0001304010313070D009307404C3307F70275
|
||||
:1000F000B70700819387071FB307F7001385070031
|
||||
:10010000EF00003F930705006380070213070D000F
|
||||
:10011000B70700819387471EB307F7001307100046
|
||||
:100120002380E7007300000013070D009307404C85
|
||||
:100130003307F702B70700819387071FB307F7005C
|
||||
:10014000130784FD9305070013850700EF00C031F6
|
||||
:10015000832704FE138107008327C4FD832584FDC4
|
||||
:10016000032644FE832684FE0327C4FE138507006E
|
||||
:10017000EFF01FEA73000000130000008320C102AB
|
||||
:1001800003248102032D4102130101036780000053
|
||||
:10019000130101FD2326110223248102130401030C
|
||||
:1001A00093090100232604FE6F0040080327C4FEC4
|
||||
:1001B0009307404C3307F702B70700819387071F67
|
||||
:1001C000B307F70013850700EF008032930705009F
|
||||
:1001D000639807040327C4FE9307404C3307F702D4
|
||||
:1001E000B70700819387071FB307F700130744FD84
|
||||
:1001F0009305070013850700EF0000278327C4FD40
|
||||
:1002000013810700832784FD832544FD032604FE14
|
||||
:10021000832644FE032784FE13850700EFF01FE4C6
|
||||
:100220008327C4FE938717002326F4FE0327C4FE0A
|
||||
:1002300093076000E3DCE7F6138109001300000078
|
||||
:100240008320C1020324810213010103678000009F
|
||||
:10025000130101FC232E1102232C8102130401043B
|
||||
:100260002326A4FC2324B4FC2322C4FC2320D4FC96
|
||||
:1002700013090100232604FE232404FE6F00C00896
|
||||
:10028000B709FFFF33013101832784FE2328F4FCE3
|
||||
:10029000832784FC232AF4FC93070100232CF4FC1D
|
||||
:1002A000832744FC232EF4FC832704FC2320F4FE44
|
||||
:1002B0008327C4FE2322F4FE0327C4FE9307404C89
|
||||
:1002C0003307F702B70700819387071FB307F700CB
|
||||
:1002D000130704FD9305070013850700EF00401284
|
||||
:1002E0008327C4FE938717002326F4FE0327C4FE4A
|
||||
:1002F0009307600063D4E700232604FE832784FE6F
|
||||
:10030000938717002324F4FE032784FE8327C4FC6D
|
||||
:10031000E368F7F613010900EFF09FE71300000010
|
||||
:100320008320C103032481031301010467800000BB
|
||||
:10033000130101FD2326810213040103232EA4FCD3
|
||||
:10034000A30704FE6F00000593071000A307F4FE47
|
||||
:10035000232404FE6F0040038347F4FE3707008127
|
||||
:100360009306471E032784FE3387E60003470700F2
|
||||
:10037000B3F7E700B337F000A307F4FE832784FE4A
|
||||
:10038000938717002324F4FE832784FE0327C4FDEC
|
||||
:10039000E3E4E7FC8347F4FE93C7170093F7F70FF6
|
||||
:1003A000E39407FA130000000324C10213010103C0
|
||||
:1003B00067800000130101FF2326810023247101BF
|
||||
:1003C0001304010193870B00138507000324C10068
|
||||
:1003D000832B810013010101678000009302050057
|
||||
:1003E000130300009303700023A0620023A26200A5
|
||||
:1003F00023A4620023A6720023A862006780000085
|
||||
:100400009302050003A382001303130023A46200D8
|
||||
:100410001383420183AE420093935E003303730063
|
||||
:1004200003AE05002320C30103AE45002322C30110
|
||||
:1004300003AE85002324C30103AEC5002326C301F8
|
||||
:1004400003AE05012328C30103AE4501232AC301DE
|
||||
:10045000938E1E00130F20036394EE01930E000091
|
||||
:1004600023A2D201678000009302050003A382004B
|
||||
:100470001303F3FF23A462001383420183AE02003F
|
||||
:10048000930F2003138F0E00130F1F006314FF013F
|
||||
:10049000130F000023A0E20193935E003303730067
|
||||
:1004A000032E030023A0C501032E430023A2C50190
|
||||
:1004B000032E830023A4C501032EC30023A6C50178
|
||||
:1004C000032E030123A8C501032E430123AAC5015E
|
||||
:1004D000678000009302050003A38200130500005B
|
||||
:1004E000130E200363146E001305150067800000CF
|
||||
:1004F0009302050003A3820013050000130E000001
|
||||
:1005000063146E0013051500678000009302050058
|
||||
:1005100003A3C20083A3020133B563006780000018
|
||||
:10052000130141FF232011002322B1008345050060
|
||||
:1005300063880500EF00C001130515006FF01FFF71
|
||||
:1005400083200100832541001301C1006780000062
|
||||
:10055000B708010023A0B80067800000130101FD67
|
||||
:10056000232611022324810213040103232EA4FC59
|
||||
:100570000327C4FD9307F00063E4E702B707008197
|
||||
:100580000327C4FD1317270093874712B307F7000B
|
||||
:1005900083A7070013850700EFF09FF86F0040075F
|
||||
:1005A000930700022326F4FEA30504FE8327C4FE5E
|
||||
:1005B0009387C7FF0327C4FDB357F70093F7F700EE
|
||||
:1005C0002322F4FE832744FE63860700930710006E
|
||||
:1005D000A305F4FE8347B4FE63820702B7070081D8
|
||||
:1005E000032744FE1317270093874712B307F7002A
|
||||
:1005F00083A7070013850700EFF09FF28327C4FE4F
|
||||
:100600009387C7FF2326F4FE8327C4FEE340F0FA56
|
||||
:100610008320C102032481021301010367800000CB
|
||||
:10062000130101FD23261102232481021304010377
|
||||
:10063000232EA4FC232CB4FC232AC4FC2328D4FCA2
|
||||
:10064000B73700810327C4FD23AEE780B7370081A9
|
||||
:100650009387C781032784FD23A2E700B737008172
|
||||
:100660009387C781032744FD23A4E700B7370081A0
|
||||
:100670009387C781032704FD23A6E700832704FD92
|
||||
:1006800093D737002326F4FE832704FD93F77700E2
|
||||
:10069000638807008327C4FE938717002326F4FE90
|
||||
:1006A000B73700819387C7810327C4FE23A8E700DB
|
||||
:1006B000B707008113850708EFF09FE60325C4FE06
|
||||
:1006C000EFF0DFE9B70700811385C708EFF05FE5BA
|
||||
:1006D000032704FD9307700063F2E702B737008138
|
||||
:1006E0009386C781B70700801386C774930580007F
|
||||
:1006F000032504FDEFF0DFB56F000002B73700817E
|
||||
:100700009386C781B70700801386C774832504FDCD
|
||||
:10071000032504FDEFF0DFB3032704FD930770000A
|
||||
:1007200063F8E70013058000EFF09FC06F00C00082
|
||||
:10073000032504FDEFF0DFBF130000008320C1029A
|
||||
:10074000032481021301010367800000130101FAF1
|
||||
:10075000232E1104232C8104130401062326A4FA5A
|
||||
:100760002324B4FAEFF01FC5232CA4FC832784FDB7
|
||||
:1007700083A70700232AF4FC832784FD83A747006F
|
||||
:100780002328F4FC832784FD83A787002326F4FC19
|
||||
:10079000832784FD83A707012326F4FE0327C4FED5
|
||||
:1007A0008327C4FAB307F7022324F4FE8327C4FE89
|
||||
:1007B000639A0700930710002326F4FE8327C4FAE8
|
||||
:1007C0002324F4FE832784FD83A7C7002324F4FC9D
|
||||
:1007D000232204FE6F004012232004FE232E04FC7B
|
||||
:1007E0006F008007032784FA832784FCB307F7028E
|
||||
:1007F0000327C4FDB307F7002322F4FC032784FC7E
|
||||
:100800008327C4FDB307F702032784FEB307F7006D
|
||||
:100810002320F4FC832744FC93972700032744FDFF
|
||||
:10082000B307F70003A70700832704FC939727006B
|
||||
:10083000832604FDB387F60083A70700B307F702FA
|
||||
:10084000032704FEB307F7002320F4FE8327C4FD2B
|
||||
:1008500093871700232EF4FC0327C4FD832784FC11
|
||||
:10086000E362F7F8032784FA832784FC3307F7024F
|
||||
:10087000832784FEB307F700232EF4FA032784FEB0
|
||||
:10088000832784FCB337F70093F7F70F232CF4FA90
|
||||
:10089000832784FB93B71700A30BF4FA834774FBF9
|
||||
:1008A000138F0700B7170080938F478E6B200F00C0
|
||||
:1008B0007B70FF018327C4FB939727000327C4FCA9
|
||||
:1008C000B307F700032704FE23A0E700832784FE75
|
||||
:1008D000938717002324F4FEB7170080138E878EAA
|
||||
:1008E00067000E00130000006B300000832744FEF9
|
||||
:1008F000938717002322F4FE832744FE0327C4FEB8
|
||||
:10090000E3ECE7EC130000008320C105032481051C
|
||||
:100910001301010667800000130101FE232E8100F0
|
||||
:1009200013040102232604FE6F008004B737008100
|
||||
:100930000327C4FE1317270093870783B307F70025
|
||||
:100940001307300023A0E700B74700810327C4FE48
|
||||
:100950001317270093870783B307F70013072000B7
|
||||
:1009600023A0E7008327C4FE938717002326F4FE05
|
||||
:100970000327C4FE9307F008E3DAE7FA1300000048
|
||||
:100980000324C1011301010267800000130101FE6D
|
||||
:10099000232E1100232C810013040102EFF0DFF756
|
||||
:1009A0009306C000B757008113860783B7470081BD
|
||||
:1009B00093850783B737008113850783EFF05FC600
|
||||
:1009C000B70700811385070DEFF09FB5B7070081CA
|
||||
:1009D0001385C70EEFF0DFB4232604FE6F008005F9
|
||||
:1009E0000327C4FE9307C000B367F70263980700AC
|
||||
:1009F000B70700811385870FEFF09FB2B7570081CB
|
||||
:100A00000327C4FE1317270093870783B307F70054
|
||||
:100A100083A7070013850700EFF05FB4B7070081D5
|
||||
:100A20001385C70FEFF0DFAF8327C4FE938717004E
|
||||
:100A30002326F4FE0327C4FE9307F008E3D2E7FA67
|
||||
:100A4000B707008113850710EFF09FAD93070000F3
|
||||
:100A5000138507008320C1010324810113010102D2
|
||||
:040A600067800000AB
|
||||
:1000F000B707008193870721B307F700138507002F
|
||||
:10010000EF000043930705006382070213070D0009
|
||||
:10011000B7070081131727009387071FB307F7005E
|
||||
:100120001307100023A0E7007300000013070D0061
|
||||
:100130009307404C3307F702B707008193870721E5
|
||||
:10014000B307F700130784FD930507001385070025
|
||||
:10015000EF008035832704FE138107008327C4FD49
|
||||
:10016000832584FD032644FE832684FE0327C4FEE4
|
||||
:1001700013850700EFF0DFE97300000013000000B3
|
||||
:100180008320C10203248102032D410213010103D4
|
||||
:1001900067800000130101FD232611022324810240
|
||||
:1001A0001304010393090100232604FE6F00400895
|
||||
:1001B0000327C4FE9307404C3307F702B7070081BB
|
||||
:1001C00093870721B307F70013850700EF00403638
|
||||
:1001D00093070500639807040327C4FE9307404C68
|
||||
:1001E0003307F702B707008193870721B307F700AA
|
||||
:1001F000130744FD9305070013850700EF00C02A8D
|
||||
:100200008327C4FD13810700832784FD832544FDD4
|
||||
:10021000032604FE832644FE032784FE138507007D
|
||||
:10022000EFF0DFE38327C4FE938717002326F4FE55
|
||||
:100230000327C4FE93076000E3DCE7F6138109009F
|
||||
:10024000130000008320C102032481021301010373
|
||||
:1002500067800000130101FC232E1102232C810270
|
||||
:10026000130401042326A4FC2324B4FC2322C4FC8D
|
||||
:100270002320D4FCEFF09FDF13090100232604FEA6
|
||||
:10028000232404FE6F00C008B709FFFF33013101CA
|
||||
:10029000832784FE2328F4FC832784FC232AF4FC90
|
||||
:1002A00093070100232CF4FC832744FC232EF4FC49
|
||||
:1002B000832704FC2320F4FE8327C4FE2322F4FEBC
|
||||
:1002C0000327C4FE9307404C3307F702B7070081AA
|
||||
:1002D00093870721B307F700130704FD9305070071
|
||||
:1002E00013850700EF00C0158327C4FE938717000E
|
||||
:1002F0002326F4FE0327C4FE9307600063D4E700BF
|
||||
:10030000232604FE832784FE938717002324F4FE0C
|
||||
:10031000032784FE8327C4FCE368F7F61301090072
|
||||
:10032000EFF05FE7130000008320C1030324810383
|
||||
:100330001301010467800000130101FD23268102DF
|
||||
:1003400013040103232EA4FC232604FE6F004005A2
|
||||
:10035000232604FE232404FE6F00C003B707008198
|
||||
:10036000032784FE131727009387071FB307F7009F
|
||||
:1003700003A70700930710006318F7008327C4FE44
|
||||
:10038000938717002326F4FE832784FE93871700A4
|
||||
:100390002324F4FE032784FE93077000E3D0E7FCD8
|
||||
:1003A0000327C4FE8327C4FDE314F7FA232204FEC7
|
||||
:1003B0006F008002B7070081032744FE1317270050
|
||||
:1003C0009387071FB307F70023A00700832744FE86
|
||||
:1003D000938717002322F4FE832744FE0327C4FDDE
|
||||
:1003E000E3EAE7FC130000000324C1021301010348
|
||||
:1003F00067800000130101FF23268100232471017F
|
||||
:100400001304010193870B00138507000324C10027
|
||||
:10041000832B810013010101678000009302050016
|
||||
:10042000130300009303700023A0620023A2620064
|
||||
:1004300023A4620023A6720023A862006780000044
|
||||
:100440009302050003A382001303130023A4620098
|
||||
:100450001383420183AE420093935E003303730023
|
||||
:1004600003AE05002320C30103AE45002322C301D0
|
||||
:1004700003AE85002324C30103AEC5002326C301B8
|
||||
:1004800003AE05012328C30103AE4501232AC3019E
|
||||
:10049000938E1E00130F20036394EE01930E000051
|
||||
:1004A00023A2D201678000009302050003A382000B
|
||||
:1004B0001303F3FF23A462001383420183AE0200FF
|
||||
:1004C000930F2003138F0E00130F1F006314FF01FF
|
||||
:1004D000130F000023A0E20193935E003303730027
|
||||
:1004E000032E030023A0C501032E430023A2C50150
|
||||
:1004F000032E830023A4C501032EC30023A6C50138
|
||||
:10050000032E030123A8C501032E430123AAC5011D
|
||||
:10051000678000009302050003A38200130500001A
|
||||
:10052000130E200363146E0013051500678000008E
|
||||
:100530009302050003A3820013050000130E0000C0
|
||||
:1005400063146E0013051500678000009302050018
|
||||
:1005500003A3C20083A3020133B5630067800000D8
|
||||
:10056000130141FF232011002322B1008345050020
|
||||
:1005700063880500EF00C001130515006FF01FFF31
|
||||
:1005800083200100832541001301C1006780000022
|
||||
:10059000B708010023A0B80067800000130101FD27
|
||||
:1005A000232611022324810213040103232EA4FC19
|
||||
:1005B0000327C4FD9307F00063E4E702B707008157
|
||||
:1005C0000327C4FD1317270093870713B307F7000A
|
||||
:1005D00083A7070013850700EFF09FF86F0040071F
|
||||
:1005E000930700022326F4FEA30504FE8327C4FE1E
|
||||
:1005F0009387C7FF0327C4FDB357F70093F7F700AE
|
||||
:100600002322F4FE832744FE63860700930710002D
|
||||
:10061000A305F4FE8347B4FE63820702B707008197
|
||||
:10062000032744FE1317270093870713B307F70028
|
||||
:1006300083A7070013850700EFF09FF28327C4FE0E
|
||||
:100640009387C7FF2326F4FE8327C4FEE340F0FA16
|
||||
:100650008320C1020324810213010103678000008B
|
||||
:10066000130101FE232E1100232C8100130401022B
|
||||
:100670002326A4FE2324B4FE0325C4FEEFF05FEE80
|
||||
:10068000032584FEEFF09FF1B7070081138507046F
|
||||
:10069000EFF01FED130000008320C101032481014E
|
||||
:1006A0001301010267800000130101FD23261102DE
|
||||
:1006B0002324810213040103232EA4FC232CB4FC65
|
||||
:1006C000232AC4FC2328D4FCB73700810327C4FDA8
|
||||
:1006D00023A8E784B737008193870785032784FD24
|
||||
:1006E00023A2E700B737008193870785032744FDDE
|
||||
:1006F00023A4E700B737008193870785032704FD0C
|
||||
:1007000023A6E700832704FD93D737002326F4FEB2
|
||||
:10071000832704FD93F77700638807008327C4FECF
|
||||
:10072000938717002326F4FEB73700819387078548
|
||||
:100730000327C4FE23A8E700032704FD93077000E6
|
||||
:1007400063F2E702B737008193860785B707008019
|
||||
:100750001386477B93058000032504FDEFF09FAFD0
|
||||
:100760006F000002B737008193860785B7070080C6
|
||||
:100770001386477B832504FD032504FDEFF09FAD21
|
||||
:10078000032704FD9307700063F8E700130560007A
|
||||
:10079000EFF09FBA6F00C000032504FDEFF0DFB952
|
||||
:1007A000130000008320C10203248102130101030E
|
||||
:1007B00067800000130101FA232E1104232C810409
|
||||
:1007C000130401062326A4FA2324B4FAEFF09FC2EF
|
||||
:1007D000232CA4FC832784FD83A70700232AF4FC91
|
||||
:1007E000832784FD83A747002328F4FC832784FD07
|
||||
:1007F00083A787002326F4FC832784FD83A70701B2
|
||||
:100800002326F4FE0327C4FE8327C4FAB307F702A6
|
||||
:100810002324F4FE8327C4FE639A07009307100085
|
||||
:100820002326F4FE8327C4FA2324F4FE832784FDC1
|
||||
:1008300083A7C7002324F4FC232204FE6F00401288
|
||||
:10084000232004FE232E04FC6F008007032784FA74
|
||||
:10085000832784FCB307F7020327C4FDB307F7001F
|
||||
:100860002322F4FC032784FC8327C4FDB307F7028B
|
||||
:10087000032784FEB307F7002320F4FC832744FCFE
|
||||
:1008800093972700032744FDB307F70003A707004A
|
||||
:10089000832704FC93972700832604FDB387F60083
|
||||
:1008A00083A70700B307F702032704FEB307F70087
|
||||
:1008B0002320F4FE8327C4FD93871700232EF4FC26
|
||||
:1008C0000327C4FD832784FCE362F7F8032784FA37
|
||||
:1008D000832784FC3307F702832784FEB307F700DE
|
||||
:1008E000232EF4FA032784FE832784FCB337F70012
|
||||
:1008F00093F7F70F232CF4FA832784FB93B71700A1
|
||||
:10090000A30BF4FA834774FB138F0700B71700801B
|
||||
:10091000938FC7946B200F007B70FF018327C4FB6C
|
||||
:10092000939727000327C4FCB307F700032704FEAF
|
||||
:1009300023A0E700832784FE938717002324F4FE77
|
||||
:10094000B7170080138E079567000E001300000094
|
||||
:100950006B300000832744FE938717002322F4FEA8
|
||||
:10096000832744FE0327C4FEE3ECE7EC13000000FA
|
||||
:100970008320C1050324810513010106678000005F
|
||||
:10098000130101FC232E1102232C81021304010404
|
||||
:10099000232EA4FC232CB4FC232AC4FC2328D4FC3F
|
||||
:1009A0002326E4FCB73700810327C4FD23A2E78692
|
||||
:1009B000B737008193874786032784FD23A2E7008A
|
||||
:1009C000B737008193874786032744FD23A4E700B8
|
||||
:1009D000B7370081938747860327C4FC23A6E70027
|
||||
:1009E000B737008193874786032704FD23A8E700D4
|
||||
:1009F0008327C4FC93D737002326F4FE8327C4FC47
|
||||
:100A000093F77700638807008327C4FE9387170056
|
||||
:100A10002326F4FEB7370081938747860327C4FE59
|
||||
:100A200023AAE7000327C4FC9307700063F2E702E0
|
||||
:100A3000B737008193864786B7170080138607AAC9
|
||||
:100A400093058000032504FDEFF0DF806F000002B6
|
||||
:100A5000B737008193864786B7170080138607AAA9
|
||||
:100A60008325C4FC032504FDEFF0CFFE032704FD1E
|
||||
:100A70009307700063F8E70013057000EFF0DF8B59
|
||||
:100A80006F00C000032504FDEFF01F8B1300000072
|
||||
:100A90008320C10303248103130101046780000044
|
||||
:100AA000130101FB232611042324810413040105EF
|
||||
:100AB000232EA4FA232CB4FAEFF0DF932320A4FE14
|
||||
:100AC000832704FE83A70700232EF4FC832704FE5C
|
||||
:100AD00083A74700232CF4FC832704FE83A7870009
|
||||
:100AE000232AF4FC832704FE83A747012326F4FE70
|
||||
:100AF0000327C4FE8327C4FBB307F7022324F4FEB5
|
||||
:100B00008327C4FE639A0700930710002326F4FE90
|
||||
:100B10008327C4FB2324F4FE832704FE83A7C70096
|
||||
:100B20002328F4FC232204FE6F00000C032784FB1F
|
||||
:100B3000832704FD3307F702832784FEB307F700FA
|
||||
:100B40002326F4FC032784FE832704FDB337F70034
|
||||
:100B500093F7F70F2324F4FC832784FC93B7170043
|
||||
:100B6000A303F4FC834774FC138F0700B7170080BE
|
||||
:100B7000938F47BD6B200F007B70FF018327C4FC60
|
||||
:100B8000939727000327C4FDB307F70083A6070048
|
||||
:100B90008327C4FC93972700032784FDB307F7003E
|
||||
:100BA00003A707008327C4FC93972700032644FD6F
|
||||
:100BB000B307F6003387E60023A0E700832784FE0F
|
||||
:100BC000938717002324F4FEB7170080138E87BD88
|
||||
:100BD00067000E00130000006B300000832744FE06
|
||||
:100BE000938717002322F4FE832744FE0327C4FEC5
|
||||
:100BF000E3EEE7F2130000008320C1040324810424
|
||||
:100C00001301010567800000130101FC232E11026E
|
||||
:100C1000232C810213040104232EA4FC232CB4FCF6
|
||||
:100C2000232AC4FC2328D4FC2326E4FCB737008104
|
||||
:100C30000327C4FD23A2E786B73700819387478641
|
||||
:100C4000032784FD23A2E700B737008193874786F7
|
||||
:100C5000032744FD23A4E700B73700819387478625
|
||||
:100C60000327C4FC23A6E700B73700819387478694
|
||||
:100C7000032704FD23A8E7008327C4FC93D737008C
|
||||
:100C80002326F4FE8327C4FC93F7770063880700CC
|
||||
:100C90008327C4FE938717002326F4FEB73700810D
|
||||
:100CA000938747860327C4FE23AAE7000327C4FCD3
|
||||
:100CB0009307700063F2E702B73700819386478697
|
||||
:100CC000B7170080138687D293058000032504FDA3
|
||||
:100CD000EFF04FD86F000002B73700819386478648
|
||||
:100CE000B7170080138687D28325C4FC032504FD33
|
||||
:100CF000EFF04FD6032704FD9307700063F8E70079
|
||||
:100D000013057000EFF04FE36F00C000032504FDF2
|
||||
:100D1000EFF08FE2130000008320C103032481035E
|
||||
:100D20001301010467800000130101FB2326110455
|
||||
:100D30002324810413040105232EA4FA232CB4FADE
|
||||
:100D4000EFF04FEB2320A4FE832704FE83A70700C8
|
||||
:100D5000232EF4FC832704FE83A74700232CF4FCF6
|
||||
:100D6000832704FE83A78700232AF4FC832704FE3D
|
||||
:100D700083A747012326F4FE0327C4FE8327C4FB71
|
||||
:100D8000B307F7022324F4FE8327C4FE639A070007
|
||||
:100D9000930710002326F4FE8327C4FB2324F4FECC
|
||||
:100DA000832704FE83A7C7002328F4FC232204FE24
|
||||
:100DB0006F00000C032784FB832704FD3307F70231
|
||||
:100DC000832784FEB307F7002326F4FC032784FE61
|
||||
:100DD000832704FDB337F70093F7F70F2324F4FCC0
|
||||
:100DE000832784FC93B71700A303F4FC834774FCA8
|
||||
:100DF000138F0700B7170080938FC7E56B200F0094
|
||||
:100E00007B70FF018327C4FC939727000327C4FD51
|
||||
:100E1000B307F70083A607008327C4FC9397270036
|
||||
:100E2000032784FDB307F70003A707008327C4FC4B
|
||||
:100E300093972700032644FDB307F6003387E64067
|
||||
:100E400023A0E700832784FE938717002324F4FE62
|
||||
:100E5000B7170080138E07E667000E00130000002E
|
||||
:100E60006B300000832744FE938717002322F4FE93
|
||||
:100E7000832744FE0327C4FEE3EEE7F213000000DD
|
||||
:100E80008320C1040324810413010105678000004D
|
||||
:100E9000130101FE232E810013040102232604FE08
|
||||
:100EA0006F008004B73700810327C4FE13172700A3
|
||||
:100EB0009387C787B307F7001307300023A0E70025
|
||||
:100EC000B74700810327C4FE131727009387C787FE
|
||||
:100ED000B307F7001307200023A0E7008327C4FE11
|
||||
:100EE000938717002326F4FE0327C4FE9307F00F11
|
||||
:100EF000E3DAE7FA130000000324C1011301010241
|
||||
:100F000067800000130101FE232E1100232C8100B5
|
||||
:100F100013040102EFF0DFF793060001B7570081D9
|
||||
:100F20001386C787B74700819385C787B737008186
|
||||
:100F30001385C787EFF04FF7B70700811385470C7C
|
||||
:100F4000EFF00FE2B70700811385070EEFF04FE1D6
|
||||
:100F5000232604FE6F0040058327C4FE93F7F700A5
|
||||
:100F600063980700B70700811385C70EEFF04FDFC6
|
||||
:100F7000B75700810327C4FE131727009387C7873D
|
||||
:100F8000B307F70083A7070013850700EFF00FE111
|
||||
:100F9000B70700811385070FEFF08FDC8327C4FEAE
|
||||
:100FA000938717002326F4FE0327C4FE9307F00F50
|
||||
:100FB000E3D4E7FAB70700811385470FEFF04FDA64
|
||||
:100FC0001307000193060001B75700811386C787F6
|
||||
:100FD000B74700819385C787B73700811385C787D7
|
||||
:100FE000EFF01F9AB70700811385470CEFF04FD73A
|
||||
:100FF000B707008113858711EFF08FD6232404FEF5
|
||||
:101000006F004005832784FE93F7F700639807007D
|
||||
:10101000B70700811385C70EEFF08FD4B757008153
|
||||
:10102000032784FE131727009387C787B307F700AA
|
||||
:1010300083A7070013850700EFF04FD6B70700819D
|
||||
:101040001385070FEFF0CFD1832784FE9387170016
|
||||
:101050002324F4FE032784FE9307F00FE3D4E7FA7A
|
||||
:10106000B70700811385470FEFF08FCF13070001FB
|
||||
:1010700093060001B75700811386C787B7470081E1
|
||||
:101080009385C787B73700811385C787EFF0DFB730
|
||||
:10109000B70700811385470CEFF08FCCB7070081AD
|
||||
:1010A00013854712EFF0CFCB232204FE6F004005DB
|
||||
:1010B000832744FE93F7F70063980700B707008182
|
||||
:1010C0001385C70EEFF0CFC9B7570081032744FE41
|
||||
:1010D000131727009387C787B307F70083A7070075
|
||||
:1010E00013850700EFF08FCBB70700811385070F3B
|
||||
:1010F000EFF00FC7832744FE938717002322F4FEE7
|
||||
:10110000032744FE9307F00FE3D4E7FAB707008103
|
||||
:101110001385470FEFF0CFC4930700001385070036
|
||||
:101120008320C101032481011301010267800000B3
|
||||
:02000004810079
|
||||
:10000000300000003100000032000000330000002A
|
||||
:10001000340000003500000036000000370000000A
|
||||
:10002000380000003900000061000000620000009C
|
||||
:10003000630000006400000065000000660000002E
|
||||
:1000400030000000310000003200000033000000EA
|
||||
:1000500034000000350000003600000037000000CA
|
||||
:10006000380000003900000061000000620000005C
|
||||
:1000700063000000640000006500000066000000EE
|
||||
:100080006F66667365743A20000000000A00000085
|
||||
:10009000300000003100000032000000330000009A
|
||||
:1000A000340000003500000036000000370000007A
|
||||
:1000B000380000003900000061000000620000000C
|
||||
:1000C000630000006400000065000000660000009E
|
||||
:1000D0002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D50
|
||||
:1000E0002D2D2D2D2D2D2D2D2D0A000046494E4153
|
||||
:1000F0004C205A0A000000000A0000002000000006
|
||||
:100100000A2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D42
|
||||
:100110002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0F
|
||||
:020120000A00D3
|
||||
:100124000000008104000081080000810C000081AF
|
||||
:100134001000008114000081180000811C0000815F
|
||||
:100144002000008124000081280000812C0000810F
|
||||
:100154003000008134000081380000813C000081BF
|
||||
:100164004000008144000081480000814C0000816F
|
||||
:100174005000008154000081580000815C0000811F
|
||||
:100184006000008164000081680000816C000081CF
|
||||
:100194007000008174000081780000817C0000817F
|
||||
:1001A4009000008194000081980000819C000081EF
|
||||
:1001B400A0000081A4000081A8000081AC0000819F
|
||||
:1001C400B0000081B4000081B8000081BC0000814F
|
||||
:1001D400C0000081C4000081C8000081CC000081FF
|
||||
:100040000A00000030000000310000003200000013
|
||||
:1000500033000000340000003500000036000000CE
|
||||
:100060003700000038000000390000006100000087
|
||||
:1000700062000000630000006400000065000000F2
|
||||
:100080006600000030000000310000003200000077
|
||||
:10009000330000003400000035000000360000008E
|
||||
:1000A0003700000038000000390000006100000047
|
||||
:1000B00062000000630000006400000065000000B2
|
||||
:1000C000660000002D2D2D2D2D2D2D2D2D2D2D2DAE
|
||||
:1000D0002D2D2D2D2D2D2D2D2D2D2D2D2D0A0000CD
|
||||
:1000E00046494E414C204D41540A00000A00000090
|
||||
:1000F000200000000A2D2D2D2D2D2D2D2D2D2D2DE7
|
||||
:100100002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1F
|
||||
:100110002D2D2D2D0A00000046494E414C20414412
|
||||
:0F012000440A000046494E414C205375620A00C4
|
||||
:100130000000008104000081080000810C000081A3
|
||||
:100140001000008114000081180000811C00008153
|
||||
:100150002000008124000081280000812C00008103
|
||||
:100160003000008134000081380000813C000081B3
|
||||
:1001700044000081480000814C0000815000008153
|
||||
:1001800054000081580000815C0000816000008103
|
||||
:1001900064000081680000816C00008170000081B3
|
||||
:1001A00074000081780000817C0000818000008163
|
||||
:1001B00084000081880000818C0000819000008113
|
||||
:1001C00094000081980000819C000081A0000081C3
|
||||
:1001D000A4000081A8000081AC000081B000008173
|
||||
:1001E000B4000081B8000081BC000081C000008123
|
||||
:040000058000000077
|
||||
:00000001FF
|
||||
|
|
|
@ -3,15 +3,15 @@
|
|||
|
||||
// -------------------------- Matrix Multiplication --------------------------
|
||||
|
||||
static mat_mult_arg_t args;
|
||||
void _vx_matMult(unsigned, unsigned);
|
||||
static mat_mult_arg_t mat_mult_args;
|
||||
|
||||
void _vx_mat_mult(unsigned, unsigned);
|
||||
void vx_sq_mat_mult(void * x, void * y, void * z, unsigned mat_dim)
|
||||
{
|
||||
args.x = x;
|
||||
args.y = y;
|
||||
args.z = z;
|
||||
args.mat_dim = mat_dim;
|
||||
mat_mult_args.x = x;
|
||||
mat_mult_args.y = y;
|
||||
mat_mult_args.z = z;
|
||||
mat_mult_args.mat_dim = mat_dim;
|
||||
|
||||
unsigned off = (mat_dim/MAX_THREADS);
|
||||
|
||||
|
@ -21,24 +21,20 @@ void vx_sq_mat_mult(void * x, void * y, void * z, unsigned mat_dim)
|
|||
}
|
||||
|
||||
|
||||
args.offset = off;
|
||||
mat_mult_args.offset = off;
|
||||
|
||||
vx_print_str("offset: ");
|
||||
vx_print_hex(off);
|
||||
vx_print_str("\n");
|
||||
|
||||
if (mat_dim >= 8)
|
||||
if (mat_dim >= MAX_THREADS)
|
||||
{
|
||||
vx_spawnWarps(mat_dim, MAX_THREADS, _vx_matMult, (void *) (&args));
|
||||
vx_spawnWarps(mat_dim, MAX_THREADS, _vx_mat_mult, (void *) (&mat_mult_args));
|
||||
}
|
||||
else
|
||||
{
|
||||
vx_spawnWarps(mat_dim, mat_dim, _vx_matMult, (void *) (&args));
|
||||
vx_spawnWarps(mat_dim, mat_dim, _vx_mat_mult, (void *) (&mat_mult_args));
|
||||
}
|
||||
|
||||
if (mat_dim > 7)
|
||||
if (mat_dim > MAX_WARPS)
|
||||
{
|
||||
vx_wait_for_warps(MAX_WARPS);
|
||||
vx_wait_for_warps(MAX_WARPS - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -46,7 +42,7 @@ void vx_sq_mat_mult(void * x, void * y, void * z, unsigned mat_dim)
|
|||
}
|
||||
}
|
||||
|
||||
void _vx_matMult(unsigned tid, unsigned wid)
|
||||
void _vx_mat_mult(unsigned tid, unsigned wid)
|
||||
{
|
||||
mat_mult_arg_t * args = (mat_mult_arg_t *) vx_get_arg_struct();
|
||||
|
||||
|
@ -87,8 +83,172 @@ void _vx_matMult(unsigned tid, unsigned wid)
|
|||
__else
|
||||
__end_if
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static mat_r_arg_t mat_r_args;
|
||||
// -------------------------- Matrix Addition --------------------------
|
||||
void _vx_mat_add(unsigned, unsigned);
|
||||
void vx_mat_add(void * x, void * y, void * z, unsigned num_rows, unsigned num_cols)
|
||||
{
|
||||
mat_r_args.x = x;
|
||||
mat_r_args.y = y;
|
||||
mat_r_args.z = z;
|
||||
mat_r_args.num_cols = num_cols;
|
||||
mat_r_args.num_rows = num_rows;
|
||||
|
||||
unsigned off = (num_cols/MAX_THREADS);
|
||||
|
||||
if ((num_cols%MAX_THREADS) != 0)
|
||||
{
|
||||
off += 1;
|
||||
}
|
||||
|
||||
|
||||
mat_r_args.offset = off;
|
||||
|
||||
if (num_cols >= MAX_THREADS)
|
||||
{
|
||||
vx_spawnWarps(num_rows, MAX_THREADS, _vx_mat_add, (void *) (&mat_r_args));
|
||||
}
|
||||
else
|
||||
{
|
||||
vx_spawnWarps(num_rows, num_cols, _vx_mat_add, (void *) (&mat_r_args));
|
||||
}
|
||||
|
||||
if (num_rows > (MAX_WARPS))
|
||||
{
|
||||
vx_wait_for_warps(MAX_WARPS);
|
||||
}
|
||||
else
|
||||
{
|
||||
vx_wait_for_warps(num_rows);
|
||||
}
|
||||
}
|
||||
|
||||
void _vx_mat_add(unsigned tid, unsigned wid)
|
||||
{
|
||||
// vx_print_str("*");
|
||||
// for (int z = 0; z < ((wid * 1000) + 1000); z++);
|
||||
|
||||
mat_r_arg_t * args = (mat_r_arg_t *) vx_get_arg_struct();
|
||||
|
||||
unsigned * x_ptr = args->x;
|
||||
unsigned * y_ptr = args->y;
|
||||
unsigned * z_ptr = args->z;
|
||||
|
||||
unsigned off = args->offset;
|
||||
|
||||
unsigned i_index = off * tid;
|
||||
|
||||
if (off == 0)
|
||||
{
|
||||
off = 1;
|
||||
i_index = tid;
|
||||
}
|
||||
|
||||
unsigned num_cols = args->num_cols;
|
||||
|
||||
for (int iter = 0; iter < off; ++iter)
|
||||
{
|
||||
int final_i = (wid * num_cols) + i_index;
|
||||
unsigned cond = i_index < num_cols;
|
||||
__if(cond)
|
||||
{
|
||||
z_ptr[final_i] = x_ptr[final_i] + y_ptr[final_i];
|
||||
i_index++;
|
||||
}
|
||||
__else
|
||||
__end_if
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// -------------------------- Matrix Subtraction --------------------------
|
||||
void _vx_mat_sub(unsigned, unsigned);
|
||||
void vx_mat_sub(void * x, void * y, void * z, unsigned num_rows, unsigned num_cols)
|
||||
{
|
||||
mat_r_args.x = x;
|
||||
mat_r_args.y = y;
|
||||
mat_r_args.z = z;
|
||||
mat_r_args.num_cols = num_cols;
|
||||
mat_r_args.num_rows = num_rows;
|
||||
|
||||
unsigned off = (num_cols/MAX_THREADS);
|
||||
|
||||
if ((num_cols%MAX_THREADS) != 0)
|
||||
{
|
||||
off += 1;
|
||||
}
|
||||
|
||||
|
||||
mat_r_args.offset = off;
|
||||
|
||||
if (num_cols >= MAX_THREADS)
|
||||
{
|
||||
vx_spawnWarps(num_rows, MAX_THREADS, _vx_mat_sub, (void *) (&mat_r_args));
|
||||
}
|
||||
else
|
||||
{
|
||||
vx_spawnWarps(num_rows, num_cols, _vx_mat_sub, (void *) (&mat_r_args));
|
||||
}
|
||||
|
||||
if (num_rows > (MAX_WARPS))
|
||||
{
|
||||
vx_wait_for_warps(MAX_WARPS);
|
||||
}
|
||||
else
|
||||
{
|
||||
vx_wait_for_warps(num_rows);
|
||||
}
|
||||
}
|
||||
|
||||
void _vx_mat_sub(unsigned tid, unsigned wid)
|
||||
{
|
||||
// vx_print_str("*");
|
||||
// for (int z = 0; z < ((wid * 1000) + 1000); z++);
|
||||
|
||||
mat_r_arg_t * args = (mat_r_arg_t *) vx_get_arg_struct();
|
||||
|
||||
unsigned * x_ptr = args->x;
|
||||
unsigned * y_ptr = args->y;
|
||||
unsigned * z_ptr = args->z;
|
||||
|
||||
unsigned off = args->offset;
|
||||
|
||||
unsigned i_index = off * tid;
|
||||
|
||||
if (off == 0)
|
||||
{
|
||||
off = 1;
|
||||
i_index = tid;
|
||||
}
|
||||
|
||||
unsigned num_cols = args->num_cols;
|
||||
|
||||
for (int iter = 0; iter < off; ++iter)
|
||||
{
|
||||
int final_i = (wid * num_cols) + i_index;
|
||||
unsigned cond = i_index < num_cols;
|
||||
__if(cond)
|
||||
{
|
||||
z_ptr[final_i] = x_ptr[final_i] - y_ptr[final_i];
|
||||
i_index++;
|
||||
}
|
||||
__else
|
||||
__end_if
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "../vx_os/vx_back/vx_back.h"
|
||||
#include "../vx_os/vx_io/vx_io.h"
|
||||
|
||||
#define MAX_WARPS 8
|
||||
#define MAX_WARPS 7
|
||||
#define MAX_THREADS 8
|
||||
|
||||
|
||||
|
@ -18,3 +18,21 @@ typedef struct
|
|||
} mat_mult_arg_t;
|
||||
void vx_sq_mat_mult(void *, void *, void *, unsigned);
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned * x;
|
||||
unsigned * y;
|
||||
unsigned * z;
|
||||
unsigned num_cols;
|
||||
unsigned num_rows;
|
||||
unsigned offset;
|
||||
|
||||
} mat_r_arg_t;
|
||||
// -------------------------- Matrix Addition --------------------------
|
||||
void vx_mat_add(void *, void *, void *, unsigned, unsigned);
|
||||
|
||||
// -------------------------- Matrix Subtraction --------------------------
|
||||
void vx_mat_sub(void *, void *, void *, unsigned, unsigned);
|
|
@ -7,6 +7,9 @@ unsigned z[1024] = {0};
|
|||
|
||||
#define MAT_DIM 16
|
||||
|
||||
#define NUM_COLS 16
|
||||
#define NUM_ROWS 16
|
||||
|
||||
void initialize_mats()
|
||||
{
|
||||
for (int i = 0; i < (MAT_DIM * MAT_DIM); i++)
|
||||
|
@ -21,10 +24,10 @@ int main()
|
|||
|
||||
initialize_mats();
|
||||
|
||||
// matrix multiplication
|
||||
vx_sq_mat_mult(x, y, z, MAT_DIM);
|
||||
|
||||
vx_print_str("-------------------------\n");
|
||||
vx_print_str("FINAL Z\n");
|
||||
vx_print_str("FINAL MAT\n");
|
||||
|
||||
for (int j = 0; j < (MAT_DIM * MAT_DIM); j++)
|
||||
{
|
||||
|
@ -32,7 +35,37 @@ int main()
|
|||
vx_print_hex(z[j]);
|
||||
vx_print_str(" ");
|
||||
}
|
||||
|
||||
vx_print_str("\n-------------------------------\n");
|
||||
|
||||
|
||||
|
||||
// matrix addition
|
||||
vx_mat_add(x, y, z, NUM_ROWS, NUM_COLS);
|
||||
vx_print_str("-------------------------\n");
|
||||
vx_print_str("FINAL ADD\n");
|
||||
|
||||
for (int j = 0; j < (NUM_COLS * NUM_ROWS); j++)
|
||||
{
|
||||
if ((j % NUM_COLS) == 0) vx_print_str("\n");
|
||||
vx_print_hex(z[j]);
|
||||
vx_print_str(" ");
|
||||
}
|
||||
vx_print_str("\n-------------------------------\n");
|
||||
|
||||
|
||||
// matrix sub
|
||||
vx_mat_sub(x, y, z, NUM_ROWS, NUM_COLS);
|
||||
vx_print_str("-------------------------\n");
|
||||
vx_print_str("FINAL Sub\n");
|
||||
|
||||
for (int j = 0; j < (NUM_COLS * NUM_ROWS); j++)
|
||||
{
|
||||
if ((j % NUM_COLS) == 0) vx_print_str("\n");
|
||||
vx_print_hex(z[j]);
|
||||
vx_print_str(" ");
|
||||
}
|
||||
vx_print_str("\n-------------------------------\n");
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -15,16 +15,21 @@ void vx_before_main()
|
|||
void vx_reschedule_warps()
|
||||
{
|
||||
|
||||
|
||||
register unsigned curr_warp asm("s10");
|
||||
// vx_printf("Reschedule: ", curr_warp);
|
||||
|
||||
if (queue_isEmpty(q+curr_warp))
|
||||
{
|
||||
done[curr_warp] = true;
|
||||
// vx_printf("Done: ", curr_warp);
|
||||
done[curr_warp] = 1;
|
||||
ECALL;
|
||||
}
|
||||
|
||||
Job j;
|
||||
queue_dequeue(q+curr_warp,&j);
|
||||
|
||||
// vx_printf("Reschedule -> ", j.wid);
|
||||
asm __volatile__("mv sp,%0"::"r" (j.base_sp):);
|
||||
vx_createThreads(j.n_threads, j.wid, j.func_ptr, j.args, j.assigned_warp);
|
||||
|
||||
|
@ -45,6 +50,9 @@ void vx_schedule_warps()
|
|||
asm __volatile__("mv sp,%0"::"r" (j.base_sp):);
|
||||
vx_wspawn(j.n_threads, j.wid, j.func_ptr, j.args, j.assigned_warp);
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
asm __volatile__("mv sp, s3");
|
||||
|
@ -55,6 +63,7 @@ void vx_schedule_warps()
|
|||
|
||||
void vx_spawnWarps(unsigned num_Warps, unsigned num_threads, FUNC, void * args)
|
||||
{
|
||||
vx_before_main();
|
||||
asm __volatile__("addi s2, sp, 0");
|
||||
int warp = 0;
|
||||
for (unsigned i = 0; i < num_Warps; i++)
|
||||
|
@ -84,15 +93,22 @@ void vx_spawnWarps(unsigned num_Warps, unsigned num_threads, FUNC, void * args)
|
|||
|
||||
void vx_wait_for_warps(unsigned num_wait)
|
||||
{
|
||||
bool temp = false;
|
||||
while (!temp)
|
||||
// vx_printf("wait for: ", num_wait);
|
||||
unsigned num = 0;
|
||||
while (num != num_wait)
|
||||
{
|
||||
temp = true;
|
||||
for (int i = 0; i < num_wait; i++)
|
||||
num = 0;
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
temp &= done[i];
|
||||
if (done[i] == 1)
|
||||
{
|
||||
num += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// vx_printf("num found: ", num);
|
||||
for (int i = 0; i < num_wait; i++) done[i] = 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
#define __end_if AFTER:\
|
||||
JOIN;
|
||||
|
||||
static bool done[] = {false, false, false, false, false, false, false};
|
||||
static int done[] = {0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
static int main_sp[1];
|
||||
|
||||
|
|
|
@ -18,4 +18,12 @@ void vx_print_hex(unsigned f)
|
|||
if (start) vx_print_str(hextoa[temp]);
|
||||
sf -= 4;
|
||||
} while(sf > 0);
|
||||
}
|
||||
|
||||
|
||||
void vx_printf(char * c, unsigned f)
|
||||
{
|
||||
vx_print_str(c);
|
||||
vx_print_hex(f);
|
||||
vx_print_str("\n");
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue